.scroll-film{--sf-progress:0;--sf-first-exit:0;isolation:isolate;background:var(--background);color:var(--foreground);position:relative}.scroll-film__stage{z-index:0;background:var(--background);width:100%;height:100dvh;position:sticky;top:0;overflow:hidden}.scroll-film__media,.scroll-film__poster,.scroll-film__video{width:100%;height:100%;position:absolute;inset:0}.scroll-film__poster,.scroll-film__video{object-fit:cover;object-position:50% 50%;display:block}.scroll-film__poster{z-index:0}.scroll-film__video{z-index:1;opacity:0}.scroll-film__media[data-video-painted=true] .scroll-film__video{opacity:1}.scroll-film__media[data-video-painted=true] .scroll-film__poster{visibility:hidden}.scroll-film__scrim{z-index:2;pointer-events:none;background:linear-gradient(#0000 60%,oklch(9.4% .004 286/.55) 82%,oklch(9.4% .004 286) 100%),linear-gradient(oklch(9.4% .004 286/.75) 0%,#0000 24%),oklch(9.4% .004 286/.28);position:absolute;inset:0}.scroll-film__grain{z-index:2;opacity:.04;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scroll-film__progress{z-index:5;pointer-events:none;background:oklch(100% 0 0/.08);height:2px;position:absolute;bottom:0;left:0;right:0}.scroll-film__progress span{background:var(--primary);width:100%;height:100%;transform:scaleX(var(--sf-progress));transform-origin:0;display:block;box-shadow:0 0 12px oklch(84% .172 82/.7)}.scroll-film__route{z-index:6;flex-direction:column;gap:.35rem;display:flex;position:absolute;top:50%;right:clamp(1rem,3vw,2.5rem);transform:translateY(-50%)}.scroll-film__route-button{color:oklch(100% 0 0/.38);min-width:2.5rem;min-height:2.5rem;font:inherit;font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:.6rem;padding:.4rem .5rem;font-size:.62rem;font-weight:600;transition:color .2s;display:flex}.scroll-film__route-button span:first-child{opacity:0;transition:opacity .2s,transform .2s;transform:translate(6px)}.scroll-film__route-button:hover span:first-child,.scroll-film__route-button[aria-current=step] span:first-child{opacity:1;transform:translate(0)}.scroll-film__route-dot{background:currentColor;border-radius:999px;width:6px;height:6px;transition:transform .2s,background-color .2s,box-shadow .2s;display:block}.scroll-film__route-button:hover,.scroll-film__route-button[aria-current=step]{color:var(--foreground)}.scroll-film__route-button[aria-current=step] .scroll-film__route-dot{background:var(--primary);transform:scale(1.5);box-shadow:0 0 10px oklch(84% .172 82/.8)}.scroll-film__route-button:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}.scroll-film__hint{z-index:6;color:oklch(100% 0 0/.35);font-family:var(--font-display);letter-spacing:.26em;text-transform:uppercase;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;font-size:.58rem;font-weight:600;transition:opacity .4s;display:flex;position:absolute;bottom:clamp(1.25rem,4vh,2.5rem);left:50%;transform:translate(-50%)}.scroll-film[data-active-chapter]:not([data-active-chapter="0"]) .scroll-film__hint{opacity:0}.scroll-film__hint-line{background:linear-gradient(to bottom, var(--primary), transparent);transform-origin:top;width:1px;height:2.5rem;animation:1.8s ease-in-out infinite sf-hint}@keyframes sf-hint{0%{opacity:0;transform:scaleY(0)}35%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)translateY(.5rem)}}.scroll-film__story{z-index:3;pointer-events:none;margin-top:-100dvh;position:relative}.scroll-film__chapter{position:relative}.scroll-film__chapter-pin{pointer-events:none;align-items:center;min-height:100dvh;padding:clamp(5.5rem,10vh,8rem) clamp(1.25rem,6vw,6rem);display:flex;position:sticky;top:0}.scroll-film__copy{isolation:isolate;pointer-events:auto;width:min(40rem,48vw);position:relative}.scroll-film__copy:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(oklch(9.4% .004 286/.82) 0%,oklch(9.4% .004 286/.48) 52%,#0000 76%);position:absolute;inset:-3rem -5rem}@supports (animation-timeline:view()){.scroll-film__chapter:not(:first-child) .scroll-film__copy>*{animation:1s cubic-bezier(.16,1,.3,1) both sf-rise;animation-timeline:view();animation-range:entry 10% entry 45%}}@keyframes sf-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.scroll-film__chapter-pin--stage{align-items:stretch;padding-top:clamp(5.5rem,12vh,8rem)}.scroll-film__stage-copy{pointer-events:auto;flex-direction:column;flex:1;justify-content:center;width:100%;padding-bottom:clamp(7rem,20vh,11rem);display:flex;position:relative}.scroll-film__stage-copy h1,.scroll-film__stage-copy h2{width:100%}.scroll-film__stage-foot{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex;position:absolute;bottom:0;left:0;right:0}@media (max-width:860px){.scroll-film__scrim{background:linear-gradient(#0000 22%,oklch(9.4% .004 286/.2) 42%,oklch(9.4% .004 286/.8) 66%,oklch(9.4% .004 286) 100%),linear-gradient(oklch(9.4% .004 286/.75) 0%,#0000 22%)}.scroll-film__route{top:auto;right:max(.75rem, env(safe-area-inset-right));bottom:calc(5.25rem + env(safe-area-inset-bottom));flex-direction:row;gap:.15rem;transform:none}.scroll-film__route-button span:first-child{display:none}.scroll-film__hint{bottom:calc(5.25rem + env(safe-area-inset-bottom));left:max(1.25rem, env(safe-area-inset-left));align-items:flex-start;transform:none}.scroll-film__chapter-pin{padding:5.5rem max(1.25rem, env(safe-area-inset-right)) calc(8.25rem + env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));align-items:flex-end}.scroll-film__copy{width:min(100%,34rem)}.scroll-film__chapter-pin--stage{align-items:stretch}.scroll-film__stage-copy{padding-bottom:13rem}.scroll-film__stage-foot{flex-direction:column;align-items:flex-start;gap:1.25rem}.scroll-film__copy:before{background:radial-gradient(oklch(9.4% .004 286/.86) 0%,oklch(9.4% .004 286/.55) 50%,#0000 78%);inset:-3rem -2.5rem}}@media (prefers-reduced-motion:reduce){.scroll-film__chapter{min-height:100dvh!important}.scroll-film__hint-line{opacity:.6;animation:none}@supports (animation-timeline:view()){.scroll-film__chapter:not(:first-child) .scroll-film__copy>*{opacity:1;animation:none;transform:none}}}
.glare-hover{--gh-angle:-45deg;--gh-duration:.65s;--gh-size:250%;--gh-rgba:#ffffff80;position:relative;overflow:hidden}.glare-hover:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(var(--gh-angle), #0000 60%, var(--gh-rgba) 70%, #0000, #0000 100%);transition:background-position var(--gh-duration) ease;background-size:var(--gh-size) var(--gh-size), 100% 100%;background-position:-100% -100%,0 0;background-repeat:no-repeat;position:absolute;inset:0}.glare-hover:hover:before{background-position:100% 100%,0 0}.glare-hover--play-once:before{transition:none}.glare-hover--play-once:hover:before{transition:background-position var(--gh-duration) ease;background-position:100% 100%,0 0}@media (prefers-reduced-motion:reduce){.glare-hover:before,.glare-hover--play-once:hover:before{transition:none}}
.fold-text{white-space:pre-wrap}.fold-text__segment{line-height:inherit;transform-style:preserve-3d;vertical-align:baseline;display:inline-block}.fold-text__piece{color:inherit;line-height:inherit;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform, opacity;display:inline-block;position:relative}.fold-text__piece:after{content:"";pointer-events:none;opacity:var(--fold-crease,0);mix-blend-mode:multiply;border-radius:.08em;position:absolute;inset:-.08em -.02em}.fold-text__piece[data-fold-hinge=top]:after{background:linear-gradient(#00000094 0%,#00000038 42%,#ffffff42 100%)}.fold-text__piece[data-fold-hinge=bottom]:after{background:linear-gradient(#ffffff42 0%,#00000038 58%,#00000094 100%)}.fold-text__piece[data-fold-hinge=left]:after{background:linear-gradient(90deg,#00000094 0%,#00000038 42%,#ffffff42 100%)}.fold-text__piece[data-fold-hinge=right]:after{background:linear-gradient(270deg,#00000094 0%,#00000038 42%,#ffffff42 100%)}@media (prefers-reduced-motion:reduce){.fold-text__piece{opacity:1!important;transform:none!important}.fold-text__piece:after{opacity:0!important}}
