/* Native VoyageMark proportions: 72% ring, flight from (12,88) to (88,12). */
.closing.finale{padding:88px 20px 80px;min-height:960px;background:#000}
.closing.finale:before{display:none}
.finale .closing-inner{width:100%;max-width:980px}
.finale .closing-mark{width:clamp(150px,18vw,214px);height:auto;overflow:visible;display:block;margin:0 auto 34px;color:var(--champagne);filter:drop-shadow(0 0 8px rgba(201,164,97,.18))}
.finale-ring{fill:none;stroke:url(#finale-brass);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0;transform:rotate(-90deg);transform-origin:50px 50px}
.finale-flightline{fill:none;stroke:url(#finale-brass);stroke-width:1.25;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:0}
.finale-plane use{fill:var(--champagne);stroke:var(--gold-deep,#A88542);stroke-width:.4}
.finale-halo{fill:url(#finale-light);opacity:.65;transform-origin:50px 50px}
.finale p.eyebrow{font:11px/1.6 'DM Mono',monospace;letter-spacing:.16em;color:var(--stone);max-width:600px;margin:0 auto 28px}
.finale h2{font-size:clamp(62px,8vw,116px);line-height:.9;margin-bottom:26px}
.finale .finale-description{max-width:540px;font-size:18px;margin:0 auto 30px}
.finale-replay{display:block;margin:20px auto 0;min-height:44px;padding:8px 16px;background:transparent;border:0;color:var(--stone);font:11px/1.4 'DM Mono',monospace;cursor:pointer}
.finale-replay:hover{color:var(--champagne)}
.finale-replay span[aria-hidden]{font-size:19px;vertical-align:middle;margin-right:6px}
.finale [hidden]{display:none!important}
.finale.motion-ready:not(.is-playing):not(.is-settled) .finale-ring,.finale.motion-ready:not(.is-playing):not(.is-settled) .finale-flightline{stroke-dashoffset:100}
.finale.motion-ready:not(.is-playing):not(.is-settled) .finale-plane{opacity:0}
.finale.is-playing .finale-ring{animation:finale-circle 1550ms cubic-bezier(.32,.72,0,1) both}
.finale.is-playing .finale-flightline{animation:finale-circle 1400ms 1550ms cubic-bezier(.32,.72,0,1) both}
.finale.is-playing .finale-plane{animation:finale-takeoff 1400ms 1550ms cubic-bezier(.32,.72,0,1) both}
.finale.is-playing .finale-halo{animation:finale-arrival 1400ms 2100ms ease-out both}
@keyframes finale-circle{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes finale-takeoff{0%{opacity:0;transform:translate(-76px,76px)}5%{opacity:1}100%{opacity:1;transform:translate(0,0)}}
@keyframes finale-arrival{0%{opacity:.2;transform:scale(.88)}45%{opacity:1;transform:scale(1.08)}100%{opacity:.65;transform:scale(1)}}
@media(max-width:640px){.closing.finale{min-height:0;padding:72px 20px 58px}.finale .closing-mark{width:156px;margin-bottom:28px}.finale h2{font-size:clamp(54px,13.8vw,78px);letter-spacing:-.06em}.finale .finale-description{font-size:16px;max-width:360px}.finale p.eyebrow{font-size:9px;max-width:285px;margin-bottom:26px}.finale .button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.finale *{animation:none!important}.finale.motion-ready .finale-ring,.finale.motion-ready .finale-flightline{stroke-dashoffset:0!important}.finale.motion-ready .finale-plane{opacity:1!important;transform:none!important}.finale-replay{display:none}}
