/* Hire: one sticky screen over a long scroll in the tunnel; the B becomes the mark, the call lands with it. */
.finale_wrap {
  --fi-ink: #f1efea; --fi-dim: rgba(241, 239, 234, .56); --fi-faint: rgba(241, 239, 234, .2); --fi-orange: #e2621c;
  --fi-gut: clamp(16px, 2.6vw, 44px);
  position: relative; z-index: 3; margin-top: -100vh; height: 300vh; color: var(--fi-ink);
}
.finale_wrap .finale_contain {
  position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; background: #020203;
  opacity: var(--arrive, 0); transform: translate3d(0, var(--hold, 0px), 0); visibility: var(--vis, hidden);
}
.finale_wrap .finale_stage { position: absolute; inset: 0; }
.finale_wrap .finale_stage canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.finale_wrap .finale_layer { position: absolute; inset: 0; z-index: 2; pointer-events: none; text-align: center; }
.finale_wrap .finale_layer > * { opacity: 0; transform: translateY(16px); transition: opacity 1.4s cubic-bezier(.7, 0, .2, 1), transform 1.4s cubic-bezier(.7, 0, .2, 1); }
.finale_wrap.is-hire .finale_layer > * { opacity: 1; transform: none; }
.finale_wrap.is-hire .finale_layer > .finale_title { transition-delay: .1s; }
.finale_wrap.is-hire .finale_layer > .finale_line { transition-delay: .3s; }
.finale_wrap.is-hire .finale_layer > .finale_cta { transition-delay: .5s; pointer-events: auto; }
.finale_wrap .finale_kick { position: absolute; left: 0; right: 0; top: calc(var(--fi-gut) + 10vh); margin: 0; font: 400 15px/1 'BX Corporate', serif; color: var(--fi-dim); }
.finale_wrap .finale_title { position: absolute; left: 0; right: 0; top: calc(var(--fi-gut) + 10vh + 26px); margin: 0; padding: 0 var(--fi-gut); font: 400 clamp(46px, 7vw, 124px)/.95 'BX Corporate', serif; letter-spacing: -.03em; }
.finale_wrap .finale_line { position: absolute; left: 0; right: 0; bottom: 21vh; margin: 0 auto; max-width: 40ch; padding: 0 var(--fi-gut); font: 400 clamp(15px, 1.2vw, 19px)/1.4 'BX Corporate', serif; color: var(--fi-dim); }
.finale_wrap .finale_cta {
  position: absolute; left: 50%; bottom: 12vh; translate: -50% 0; padding: 16px 30px 15px; border: 1px solid var(--fi-faint); white-space: nowrap; pointer-events: none;
  color: var(--fi-ink); text-decoration: none; font: 600 11px/1 'BX Wide', sans-serif; font-stretch: 125%; letter-spacing: .26em; text-transform: uppercase;
  transition: background .4s, color .4s, border-color .4s, opacity 1.4s cubic-bezier(.7, 0, .2, 1), transform 1.4s cubic-bezier(.7, 0, .2, 1);
}
.finale_wrap .finale_cta:hover, .finale_wrap .finale_cta:focus-visible { background: var(--fi-orange); border-color: var(--fi-orange); color: #0b0605; }
.finale_wrap .finale_colophon { position: absolute; z-index: 2; right: var(--fi-gut); bottom: var(--fi-gut); width: min(330px, calc(100% - 2 * var(--fi-gut))); font: 400 10.5px/1.5 'BX Corporate', serif; color: var(--fi-dim); opacity: 0; transition: opacity 1.4s .7s; }
.finale_wrap.is-hire .finale_colophon { opacity: 1; }
.finale_wrap .finale_colophon dl { margin: 0; border-top: 1px solid var(--fi-faint); padding-top: 8px; }
.finale_wrap .finale_colophon dl > div { display: grid; grid-template-columns: 62px 1fr; gap: 8px; }
.finale_wrap .finale_colophon dt { font: 400 10.5px/1.5 'BX Corporate', serif; color: var(--fi-faint); }
.finale_wrap .finale_colophon dd { margin: 0; }
@media (max-width: 1100px) {
  /* the credits roll after the last frame: the stage stays held for its scroll, then the page of credits follows */
  .finale_wrap { height: auto; }
  .finale_wrap .finale_pin { position: relative; }
  .finale_wrap .finale_hold { height: 200vh; }
  .finale_wrap .finale_colophon { position: relative; left: auto; right: auto; bottom: auto; width: auto; padding: 48px var(--fi-gut) calc(56px + env(safe-area-inset-bottom)); background: #020203; font-size: 13px; line-height: 1.55; opacity: 1; }
  .finale_wrap .finale_colophon dl > div { grid-template-columns: 84px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--fi-faint); }
  .finale_wrap .finale_colophon dt { font-size: 13px; color: var(--fi-dim); }
  .finale_wrap .finale_line { bottom: 34vh; }
  .finale_wrap .finale_cta { bottom: 25vh; }
}
@media (max-width: 767px) {
  .finale_wrap .finale_title { font-size: 13vw; top: calc(var(--fi-gut) + 9vh + 22px); }
  .finale_wrap .finale_line { bottom: 31vh; }
  .finale_wrap .finale_cta { bottom: 22vh; }
}
