.finale-section{height:245svh}
.cinema-finale{background:#111916}
.cinema-finale img,.cinema-finale canvas{object-position:65% center}
.cinema-finale .cinema-grade{background:linear-gradient(90deg,#071b20ed 0%,#08191bab 26%,#09191b55 44%,transparent 70%),linear-gradient(0deg,#101914b3,transparent 38%);opacity:calc(1 - var(--finish-grade,0))}
.finale-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#0717149c 0%,#0c161747 53%,#0c141219 85%),linear-gradient(0deg,#091512d9,transparent 65%);opacity:var(--finish-grade,0)}
.finale-copy{left:5vw;right:5vw;top:14vh;width:90vw;max-width:none;text-align:center;color:#f6f2e9;z-index:10}
.finale-mark{position:relative;display:grid;place-items:center;width:66px;height:66px;margin:0 auto 18px;opacity:0}
.finale-mark>img{width:41px;height:41px;object-fit:contain}
.finale-mark>svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);color:var(--brand-lime)}
.finale-copy .eyebrow{justify-content:center;font-size:8px;letter-spacing:2.8px;margin:0 0 18px}
.finale-copy h2{font-size:clamp(72px,9vw,150px);line-height:.92;letter-spacing:-.06em;margin:0 0 23px}
.finale-line{display:block;overflow:hidden;padding:0 0 .17em;margin-bottom:-.13em}
.finale-line>span,.finale-line>i{display:block;will-change:transform}
.finale-line>i{font-size:1.16em;line-height:.95;letter-spacing:-.03em}
.finale-details{opacity:0}
.finale-details>p{font-size:15px;line-height:1.6;margin:0 auto 15px;color:#f0f1e2e6}
.finale-benefits{display:flex;justify-content:center;gap:24px;margin:0;padding:0;list-style:none;color:#e4ecdf;font-size:11px}
.finale-benefits li{display:flex;align-items:center;gap:8px}
.finale-benefits li:before{content:'✓';color:var(--brand-lime);font-size:10px}
.finale-action{display:flex;justify-content:center;margin:27px 0 14px;opacity:0}
.finale-book{--unfold:0;position:relative;display:flex;align-items:center;justify-content:center;width:calc(68px + 208px * var(--unfold));height:68px;border-radius:999px;background:var(--brand-lime);color:#101710;box-shadow:0 0 0 8px #91ff0010,0 12px 70px #0003;overflow:hidden;pointer-events:auto;isolation:isolate}
.finale-book:before{content:'';position:absolute;inset:0;transform:translateX(-110%) skewX(-18deg);background:linear-gradient(90deg,transparent,#fff8,transparent);transition:transform .65s ease;z-index:-1}
.finale-book:hover:before,.finale-book:focus-visible:before{transform:translateX(110%) skewX(-18deg)}
.finale-book-label{font-size:17px;font-weight:600;white-space:nowrap;padding-right:29px}
.finale-book-arrow{position:absolute;right:25px;font-size:24px;line-height:1}
.finale-book:focus-visible{outline:2px solid #fff;outline-offset:12px}
.finale-contact{font-size:10px;color:#e3eadcd9;opacity:0}
.finale-contact a{display:inline-block;margin-left:7px;color:#fff;text-decoration:underline;text-underline-offset:4px}
.finale-contact .replay{display:inline-block;margin:15px 0 0;font-size:9px;color:#dae5d1a3}
.finale-rail{position:fixed;right:4vw;top:42vh;z-index:12;display:flex;align-items:center;gap:17px;pointer-events:none;opacity:0}
.finale-rail>span{writing-mode:vertical-rl;font-size:7px;letter-spacing:2px;color:#f0f3e6b3}
.finale-rail>i{position:relative;width:1px;height:95px;background:#ffffff38}
.finale-rail>i:after{content:'';position:absolute;inset:0;background:var(--brand-lime);transform-origin:top;transform:scaleY(var(--travel,0))}
.camp-continue{display:inline-flex;align-items:center;gap:16px;font-size:9px;margin-top:15px;color:#f1f5e3c9}
.camp-continue>span{color:var(--brand-lime);font-size:17px;animation:journey-arrow 1.8s ease-in-out infinite}
@media(min-width:1800px){.finale-copy{top:16vh}.finale-copy h2{font-size:8vw}.finale-details>p{font-size:18px}.finale-benefits{font-size:11px}.finale-action{margin-top:32px}}
@media(min-width:701px) and (max-height:780px){.finale-copy{top:16vh}.finale-mark{width:48px;height:48px;margin-bottom:12px}.finale-mark>img{width:31px;height:31px}.finale-copy .eyebrow{font-size:7px;margin-bottom:12px}.finale-copy h2{font-size:13vh;margin-bottom:20px}.finale-details>p{font-size:12px;margin-bottom:10px}.finale-benefits{font-size:10px}.finale-action{margin:20px 0 12px}.finale-book{height:57px}.finale-contact .replay{margin-top:10px}}
@media(max-width:700px){
 .finale-section{height:250svh}
 .cinema-finale img,.cinema-finale canvas{object-position:30% 40%}
 .cinema-finale .cinema-grade{background:linear-gradient(#0e191c55,transparent 25%,#0c191d22 38%,#0d191dcc 55%,#101e1df5 78%)}
 .finale-shade{background:linear-gradient(0deg,#091512f0 0%,#0b1917b3 38%,#0b191765 73%,#07131140)}
 .finale-copy{top:18svh;left:7vw;right:7vw;width:86vw}
 .finale-mark{width:58px;height:58px;margin-bottom:21px}.finale-mark>img{width:37px;height:37px}
 .finale-copy .eyebrow{font-size:6px;letter-spacing:1.7px;margin-bottom:22px}
 .finale-copy h2{font-size:17vw;margin-bottom:25px;line-height:.99}
 .finale-details>p{font-size:12px;max-width:260px;line-height:1.6;margin-bottom:18px}
 .finale-benefits{gap:13px;font-size:10px;flex-wrap:wrap;row-gap:8px}.finale-benefits li{gap:5px}
 .finale-action{margin:27px 0 18px}.finale-book{height:62px}.finale-book-label{font-size:15px}
 .finale-contact{font-size:9px}.finale-contact a{margin-left:5px}.finale-contact .replay{font-size:8px;margin-top:22px}
 .finale-rail{right:3vw;top:25svh;gap:9px}.finale-rail>span{font-size:5px;letter-spacing:1px}.finale-rail>i{height:65px}
 .chapter-nav{gap:5px}.chapter-nav a{font-size:6px}
 .camp-continue{font-size:8px;margin-top:12px}
}
@media(max-width:700px) and (max-height:740px){.finale-copy{top:16svh}.finale-mark{width:43px;height:43px;margin-bottom:15px}.finale-mark>img{width:28px;height:28px}.finale-copy .eyebrow{margin-bottom:16px}.finale-copy h2{font-size:16vw;margin-bottom:20px}.finale-details>p{font-size:11px;margin-bottom:12px}.finale-benefits{gap:7px 13px;font-size:9px}.finale-action{margin:22px 0 15px}.finale-book{height:56px}.finale-contact .replay{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.finale-line>span,.finale-line>i{will-change:auto}.camp-continue>span{animation:none}}
