.finale_wrap {--ink: #eef0f3; --mute: rgba(226, 231, 239, 0.62); --faint: rgba(226, 231, 239, 0.2);
  --display: 'RO Display', 'Iowan Old Style', Georgia, serif; --text: 'RO Text', 'Helvetica Neue', Arial, sans-serif;
  --gut: clamp(16px, 3.2vw, 48px);
  position: relative; margin-top: -100vh; background: none; color: var(--ink); font-family: var(--text); -webkit-font-smoothing: antialiased; }
.finale_wrap .finale_contain {position: relative; }
.finale_wrap .finale_run {position: relative; height: 340vh; }
.finale_wrap .finale_stage {position: sticky; top: 0; height: 100vh; overflow: clip; visibility: hidden; transform: translateY(var(--hold, 0px)); }
.finale_wrap .finale_host {position: absolute; inset: 0; background: #04060a; }
.finale_wrap .finale_host canvas {position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.finale_wrap .finale_hire {position: absolute; top: 0; bottom: 0; right: var(--gut); width: min(560px, 40vw); display: flex; flex-direction: column; justify-content: center;
  opacity: var(--hire, 0); transform: translateY(calc((1 - var(--hire, 0)) * 26px)); pointer-events: none; }
.finale_wrap .finale_kicker {margin: 0 0 20px; font-size: 13px; color: var(--mute); }
.finale_wrap .finale_title {margin: 0 0 24px; font: 300 clamp(56px, 7.4vw, 124px) / 0.9 var(--display); font-variation-settings: 'opsz' 72; letter-spacing: -0.045em; }
.finale_wrap .finale_line {margin: 0 0 32px; font-size: 16.5px; line-height: 1.55; color: var(--mute); max-width: 38ch; }
.finale_wrap .finale_cta {align-self: flex-start; pointer-events: none; display: inline-flex; align-items: center; gap: 14px; color: #04060a; background: var(--ink); text-decoration: none; font: 500 15px var(--text); padding: 17px 26px; border-radius: 999px; transition: background 0.3s; }
.finale_wrap .finale_cta:hover {background: #fff; }
.finale_wrap .finale_cta::after {content: ''; width: 18px; height: 1px; background: currentColor; }
.finale_wrap .finale_colophon {position: relative; z-index: 2; background: #04060a; border-top: 1px solid var(--faint); padding: clamp(48px, 8vh, 88px) var(--gut) calc(76px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px clamp(32px, 6vw, 96px); }
.finale_wrap .finale_sign {display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.finale_wrap .finale_mark {width: min(300px, 100%); aspect-ratio: 448 / 333; touch-action: pan-y; cursor: crosshair; }
.finale_wrap .finale_mark svg {display: block; width: 100%; height: 100%; overflow: visible; }
.finale_wrap .finale_tm {margin: 0; font-size: 14px; line-height: 1.5; color: var(--ink); max-width: 36ch; }
.finale_wrap .finale_notes {display: flex; flex-direction: column; gap: 14px; max-width: 64ch; }
.finale_wrap .finale_label {margin: 0 0 4px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--mute); }
.finale_wrap .finale_explore {margin: 0; font: 300 clamp(18px, 1.5vw, 22px) / 1.45 var(--display); color: var(--ink); }
.finale_wrap .finale_credits {margin: 14px 0 0; padding-top: 18px; border-top: 1px solid var(--faint); font-size: 12px; line-height: 1.65; color: var(--mute); }
@media (max-width: 767px), (max-aspect-ratio: 9/10) {.finale_wrap .finale_hire::before {content: ''; position: absolute; left: -16px; right: -16px; bottom: 0; height: 62%; z-index: -1; background: linear-gradient(0deg, rgba(4, 6, 10, 0.92) 40%, rgba(4, 6, 10, 0)); }
.finale_wrap .finale_hire {isolation: isolate; }
.finale_wrap .finale_hire {left: 16px; right: 16px; width: auto; justify-content: flex-end; padding-bottom: 80px; }
.finale_wrap .finale_title {font-size: clamp(48px, 14vw, 64px); }
.finale_wrap .finale_line {font-size: 14.5px; margin-bottom: 22px; }
.finale_wrap .finale_colophon {grid-template-columns: 1fr; padding: 48px 16px calc(84px + env(safe-area-inset-bottom)); }
.finale_wrap .finale_mark {width: min(220px, 70%); }
.finale_wrap .finale_sign {order: 2; }
.finale_wrap .finale_explore {font-size: 17px; }
}
.finale_wrap :focus-visible {outline: 2px solid currentColor; outline-offset: 4px; border-radius: 3px; }
@media (prefers-reduced-motion: reduce) {.finale_wrap *, .finale_wrap *::before, .finale_wrap *::after {transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
/* this section is pulled up over the calibre's last screen: its box lets taps through to what is under it */
.finale_wrap, .finale_wrap .finale_run {pointer-events: none; }
.finale_wrap .finale_stage.is-hire .finale_cta, .finale_wrap .finale_colophon {pointer-events: auto; }
