:root{--sh-mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--sh-tshadow: 0 1px 2px rgb(5 4 3 / .95), 0 3px 12px rgb(5 4 3 / .78), 0 10px 44px rgb(5 4 3 / .8)}.sh{position:relative;height:700vh;background:var(--ink)}.sh-stage{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;background:var(--ink)}.sh-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;will-change:transform;transform:translateZ(0)}.sh-stage.video-ready .sh-video{opacity:1}.sh-stage.video-failed .sh-video{display:none}.sh-poster{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--ink)}.sh-scrim{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% 45%,#0a090600 35%,#0a09069e)}.sh-band{position:absolute;z-index:2;left:clamp(1.5rem,6vw,6rem);right:clamp(1.5rem,6vw,6rem);top:50%;transform:translateY(-50%);opacity:0;max-width:46rem;color:var(--cream);text-shadow:var(--sh-tshadow);pointer-events:none}.sh-band.is-settle{max-width:54rem}.sh-band:before{content:"";position:absolute;inset:-8% -6%;pointer-events:none;z-index:-1;opacity:calc(.25 + .75 * var(--k, 1));background:radial-gradient(ellipse 74% 68% at 34% 50%,#050403b3,#05040375 46%,#05040300 76%)}.sh-band.is-settle:before{background:radial-gradient(ellipse 80% 70% at 50% 50%,#050403b8,#0504037a 46%,#05040300 76%)}.sh-kicker{margin:0 0 1.1rem;font-family:var(--sh-mono);font-size:.6875rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.sh-line{margin:0;font-family:Fraunces,Georgia,serif;font-weight:300;font-size:clamp(2.1rem,6.2vw,5rem);line-height:1.02;letter-spacing:-.015em}.sh-sub{margin:1.2rem 0 0;font-size:clamp(1rem,1.7vw,1.28rem);line-height:1.5;color:var(--cream);font-style:italic;opacity:.92}.sh-line .w{display:inline-block;white-space:nowrap}.sh-line .c{display:inline-block;will-change:transform,opacity}.sh-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.e-drift .w{--kc: clamp(0, (var(--k, 0) - var(--th, 0)) * 2.8, 1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc)) * -26px))}.e-weave .c{--kc: clamp(0, (var(--k, 0) - var(--th, 0)) * 2.6, 1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc)) * var(--jy, 0px)))}.e-part .w{--kc: clamp(0, (var(--k, 0) - var(--th, 0)) * 2.4, 1);opacity:var(--kc);transform:translate(calc((1 - var(--kc)) * var(--jx, 0px)))}.e-focus{position:relative}.e-focus .soft{position:absolute;inset:0;filter:blur(12px);opacity:calc(1 - var(--k, 0))}.e-focus .sharp{opacity:var(--k, 0)}.e-rise .w{--kc: clamp(0, (var(--k, 0) - var(--th, 0)) * 2.6, 1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc)) * 30px))}.e-rise .sh-sub{opacity:clamp(0,(var(--k, 0) - .66) * 4,1);transform:translateY(calc((1 - clamp(0,(var(--k, 0) - .66) * 4,1))*14px))}.sh-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:baseline;pointer-events:auto;opacity:clamp(0,(var(--k, 0) - .78) * 5,1);transform:translateY(calc((1 - clamp(0,(var(--k, 0) - .78) * 5,1))*14px))}.sh-actions .hp-btn{text-shadow:none}.sh-load{position:absolute;z-index:3;right:clamp(1.5rem,4vw,3rem);bottom:clamp(1.5rem,4vw,3rem);width:48px;height:48px;color:var(--gold);opacity:.85;transition:opacity .4s ease}.sh-stage.video-ready .sh-load{opacity:0}.sh-load circle{transition:stroke-dashoffset .12s linear}.sh-cue{position:absolute;z-index:3;right:clamp(1.5rem,4vw,3rem);bottom:clamp(1.5rem,4vw,3rem);font-family:var(--sh-mono);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}@media(max-height:560px){.sh-load,.sh-cue{display:none}}.sh-static{display:none;position:relative;min-height:78vh;padding:clamp(3rem,10vw,6rem) clamp(1.5rem,6vw,4rem) clamp(2.5rem,8vw,5rem);flex-direction:column;justify-content:flex-end;color:var(--cream);text-shadow:var(--sh-tshadow)}@media(max-width:720px),(orientation:portrait)and (max-width:1024px),(orientation:portrait)and (pointer:coarse),(orientation:landscape)and (pointer:coarse)and (max-height:560px),(prefers-reduced-motion:reduce){.sh{height:auto}.sh-stage{display:none}.sh-video,.sh-band,.sh-load,.sh-cue{display:none!important}.sh-static{display:flex}}.sh-static:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,#080705eb,#080705e6 30%,#080705d6 58%,#08070557,#08070500 88%)}.sh-static-copy{position:relative;z-index:2;max-width:34rem}.sh-static .sh-line{font-size:clamp(2rem,8vw,3.4rem)}@media(prefers-reduced-motion:reduce){.sh-video{transition:none}.sh-band,.sh-band:before{transition:none;animation:none}}.dr{display:flex;align-items:center;gap:.75rem;margin:0 0 1.6rem;max-width:min(26rem,100%)}.dr-svg{flex:1 1 auto;min-width:0;width:100%;height:8px;overflow:visible}.dr-line,.dr-tick{stroke:var(--gold-deep);stroke-width:1;vector-effect:non-scaling-stroke}.dr-line{stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1)}.dr-tick{opacity:0;transition:opacity .3s ease .9s}.dr-label{flex:none;font-family:var(--sh-mono);font-size:.625rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);opacity:0;transform:translate(-6px);transition:opacity .4s ease .9s,transform .4s ease .9s}.dr.in .dr-line{stroke-dashoffset:0}.dr.in .dr-tick{opacity:.8}.dr.in .dr-label{opacity:1;transform:none}.ftf{--p: 0}.ftf-head{max-width:46rem;margin:0 auto 2.5rem}.ftf-head .hp-h2,.ftf-head .hp-sub{text-align:left}.ftf-kicker{margin:0 0 .9rem;font-family:var(--sh-mono);font-size:.625rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep)}.ftf-stage{position:relative;max-width:62rem;margin-inline:auto}.ftf-frames{position:relative;border-radius:3px;overflow:hidden;border:1px solid var(--rule);background:var(--ink);aspect-ratio:16 / 9}.ftf-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.ftf-img--done{opacity:var(--p)}.ftf-veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,#14110d8c,#14110d1f);opacity:calc(1 - var(--p) * .8)}.ftf-hold{position:absolute;left:50%;bottom:1.5rem;transform:translate(-50%);display:inline-flex;align-items:center;gap:.85rem;padding:.55rem 1.4rem .55rem .6rem;background:#0807059e;backdrop-filter:blur(10px);border:1px solid rgb(201 162 39 / .4);border-radius:999px;color:var(--cream);font:inherit;font-size:.875rem;cursor:pointer;touch-action:none;transition:border-color .24s ease,background .24s ease}.ftf-hold:hover{border-color:var(--gold);background:#080705bf}.ftf-hold:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.ftf-hold-ring{width:2.25rem;height:2.25rem;flex:none}.ftf-hold-ring svg{width:100%;height:100%;display:block}.ftf-ring-bg{fill:none;stroke:#f6f1e738;stroke-width:3}.ftf-ring-fg{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-dasharray:151;stroke-dashoffset:calc(151 - 151 * var(--p))}.ftf.is-done .ftf-hold{border-color:var(--gold)}.ftf-points{list-style:none;counter-reset:ftf;max-width:62rem;margin:2.5rem auto 0;padding:0;display:grid;gap:1.5rem}@media(min-width:860px){.ftf-points{grid-template-columns:repeat(3,1fr);gap:2.5rem}}.ftf-points li{counter-increment:ftf;position:relative;padding-top:1.1rem;border-top:1px solid var(--rule);font-size:.9375rem;line-height:1.65;color:var(--gray);transform:translateY(6px);transition:color .5s ease,transform .5s ease,border-color .5s ease}.ftf-points li:before{content:counter(ftf,decimal-leading-zero);display:block;margin-bottom:.5rem;font-family:var(--sh-mono);font-size:.625rem;letter-spacing:.16em;color:var(--gold-deep)}.ftf-points li strong{color:var(--charcoal);font-weight:600;transition:color .5s ease}.ftf.is-done .ftf-points li strong{color:var(--ink)}.ftf.is-done .ftf-points li{color:var(--charcoal);transform:none;border-color:var(--gold-deep)}.ftf.is-done .ftf-points li:nth-child(2){transition-delay:.14s}.ftf.is-done .ftf-points li:nth-child(3){transition-delay:.28s}@media(prefers-reduced-motion:reduce){.dr-line{stroke-dashoffset:0;transition:none}.dr-tick,.dr-label{opacity:.8;transform:none;transition:none}.dr-label{opacity:1}.ftf-points li{transform:none;transition:none}.ftf-hold{display:none}}body.paused *,body.paused *:before,body.paused *:after{animation-play-state:paused!important}
