.finale_wrap {--ink: #f3f2ee; --mute: rgba(243, 242, 238, 0.56); --faint: rgba(243, 242, 238, 0.32); --hair: rgba(243, 242, 238, 0.16); --bg: #050505;
  --paper: #e9e8e4; --pink: #0b0b0b; --pmute: rgba(11, 11, 11, 0.58); --phair: rgba(11, 11, 11, 0.16);
  --sans: 'LT Sans', 'Inter Tight', 'Helvetica Neue', Arial, sans-serif; --mono: 'LT Mono', 'JetBrains Mono', ui-monospace, monospace;
  --gut: clamp(16px, 2.2vw, 32px); --frame: clamp(10px, 1.1vw, 16px);
  position: relative; z-index: 4; margin-top: -100vh; color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; pointer-events: none; }
.finale_wrap .finale_run {position: relative; height: 560vh; }
.finale_wrap .finale_stage {position: sticky; top: 0; height: 100vh; overflow: clip; transform: translateY(var(--hold, 0px)); visibility: hidden; pointer-events: auto; background: var(--bg); clip-path: inset(calc((1 - var(--rv, 1)) * 100%) 0 0 0); }
.finale_wrap .finale_host {position: absolute; inset: 0; }
.finale_wrap .finale_host canvas {position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.finale_wrap .finale_tag {position: absolute; left: var(--gut); top: calc(var(--frame) + 56px); margin: 0; display: flex; gap: 1px; font: 400 11px / 1 var(--mono); letter-spacing: 0.04em; text-transform: uppercase; opacity: var(--t, 1); }
.finale_wrap .finale_tag span {background: var(--ink); color: var(--bg); padding: 4px 6px 3px; }
.finale_wrap .finale_tag span + span {background: none; color: var(--ink); border: 1px solid var(--hair); padding: 3px 6px 2px; }
.finale_wrap .finale_line {position: absolute; left: var(--gut); top: calc(var(--frame) + 96px); margin: 0; max-width: 18ch; font: 300 clamp(30px, min(3.8vw, 6.4vh), 66px) / 1 var(--sans); letter-spacing: -0.045em; opacity: var(--a, 0); transform: translateY(calc((1 - var(--a, 0)) * 16px)); }
.finale_wrap .finale_hire {position: absolute; top: 0; bottom: 0; right: var(--gut); width: min(520px, 38vw); display: flex; flex-direction: column; justify-content: center; opacity: var(--hire, 0); transform: translateY(calc((1 - var(--hire, 0)) * 28px)); pointer-events: none; }
.finale_wrap .hire_kicker {margin: 0 0 30px; font: 400 11px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--mute); }
.finale_wrap .hire_title {margin: 0 0 24px; font: 300 clamp(64px, min(8.6vw, 14vh), 156px) / 0.84 var(--sans); letter-spacing: -0.07em; }
.finale_wrap .hire_text {margin: 0 0 30px; font: 400 16px / 1.5 var(--sans); color: var(--mute); max-width: 40ch; }
.finale_wrap .hire_cta {align-self: flex-start; pointer-events: auto; display: inline-flex; align-items: center; gap: 14px; color: var(--bg); background: var(--ink); text-decoration: none; font: 400 12px var(--mono); letter-spacing: 0.04em; text-transform: uppercase; padding: 15px 18px 14px; transition: gap 0.3s; }
.finale_wrap .hire_cta::after {content: '↗'; }
.finale_wrap .hire_title_line {display: block; }
.finale_wrap .hire_cta:hover {gap: 22px; }


@media (max-width: 767px) {
  .finale_wrap .finale_hire {left: var(--gut); width: auto; top: auto; bottom: calc(var(--frame) + 102px); justify-content: flex-end; }
  .finale_wrap .hire_title {font-size: 18vw; margin-bottom: 14px; }
  .finale_wrap .hire_text {font-size: 14px; margin-bottom: 20px; }
  .finale_wrap .finale_line {top: calc(var(--frame) + 84px); font-size: 8vw; }
}

.finale_wrap .finale_contain {position: relative; }
