:root{--bg:#04050a;--ink:#eceef2;--muted:#eceef2a8;--faint:#eceef294;--line:#eceef22e;--glass:#0e121a6b;--glow:#aac8ff1f;--display:"Funnel Display", ui-sans-serif, system-ui, sans-serif;--text:"Funnel Sans", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-h:clamp(2rem, 2.6vw + .9rem, 3.5rem);--fs-body:clamp(.9rem, .2vw + .84rem, 1rem);--ease:cubic-bezier(.17, .4, .02, .99);--gutter:clamp(1rem, 2.4vw, 2.25rem)}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}body{background:var(--bg);font-family:var(--text);font-size:var(--fs-body);margin:0;line-height:1.6}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}#world{z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}.no-webgl #world{display:none}.no-webgl body{background:radial-gradient(ellipse at 50% 70%, #10131c 0%, var(--bg) 70%)}.no-webgl .copy[data-place=caption]{top:0;bottom:0}.no-webgl .hint{display:none!important}.shot{width:auto;height:min(46vh,30rem);box-shadow:0 0 0 1px var(--line), 0 30px 80px #0009;border-radius:1.4rem;margin:0 auto 1.6rem;display:block}.bar{z-index:10;padding:var(--gutter);pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.bar a{pointer-events:auto;color:var(--ink);text-decoration:none}.mark{font-family:var(--display);letter-spacing:-.01em;font-size:1.15rem;font-weight:400}.pill{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 32px var(--glow), inset 0 1px 0 #ffffff0f;font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.9rem;padding:.7rem 1.15rem;display:flex}.pill a,.pill button{color:var(--muted);transition:color .4s var(--ease)}.pill a:hover,.pill a:focus-visible,.pill button:hover,.pill button:focus-visible{color:var(--ink)}.pill button{all:unset;cursor:pointer;font:inherit;letter-spacing:inherit;pointer-events:auto;white-space:nowrap}.pill button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.sound:before{content:"";vertical-align:1px;background:var(--faint);width:5px;height:5px;transition:background .4s var(--ease);border-radius:50%;margin-right:.55rem;display:inline-block}.sound[aria-pressed=true]{color:var(--ink)}.sound[aria-pressed=true]:before{background:var(--ink);animation:2.4s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.35}}.pill .rule{background:var(--line);width:2.75rem;height:1px}.index{left:var(--gutter);bottom:var(--gutter);z-index:10;font:500 .72rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;flex-direction:column;gap:.55rem;display:flex;position:fixed}.index .readout{color:var(--ink);margin:0 0 .45rem}.index output{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:.5rem}.index a{color:var(--faint);transition:color .4s var(--ease), transform .6s var(--ease);text-decoration:none}.index a:before{content:"-> "}.index a:hover,.index a:focus-visible{color:var(--ink)}.index a[aria-current]{color:var(--ink);transform:translate(.5rem)}main{z-index:1;position:relative}section{min-height:100vh;padding:6rem var(--gutter);flex-direction:column;justify-content:center;display:flex}.copy{text-align:center;max-width:46rem;margin:0 auto}.js main{pointer-events:none}.js section{height:120vh;padding:0;display:block}.js section:last-child{height:100vh}.js .copy{--shift:0px;--px:0px;--py:0px;height:fit-content;width:min(60rem, calc(100vw - 2 * var(--gutter)));transform:translate3d(var(--px), var(--py), 0);opacity:0;pointer-events:none;margin:auto;position:fixed;inset:0}.js .copy[data-place=caption]{width:min(40rem, calc(100vw - 2 * var(--gutter)));top:auto;bottom:clamp(1.25rem,4.5vh,3rem)}.js .copy:not([data-place]):before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#04050ab8,#04050a66 55%,#0000);position:absolute;inset:-6rem -10rem}h1,h2{font-family:var(--display);letter-spacing:-.045em;text-wrap:balance;margin:0 auto 1.6rem;font-size:clamp(2.7rem,4.6vw + .8rem,6.4rem);font-weight:300;line-height:.98}h2{font-size:clamp(2.4rem,3.7vw + .8rem,5.2rem)}.copy[data-place=caption] h2{letter-spacing:-.03em;margin-bottom:.8rem;font-size:clamp(1.5rem,1.3vw + 1rem,2.4rem);line-height:1.05}.w{white-space:nowrap;display:inline-block}.ch{will-change:transform;display:inline-block}.kicker{font:500 .76rem/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:#eceef2d1;margin:0 0 1.6rem}.kicker span{font:italic 400 .95rem/1 var(--text);letter-spacing:0;text-transform:none;color:var(--muted);margin-left:.6rem}.shift{color:var(--ink)!important;margin-bottom:.7rem!important;font-size:1rem!important}.shift span{font:500 .72rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:0 .45rem}.shift span:first-child{margin-left:0}.copy[data-place=caption] .kicker{margin-bottom:.9rem}.copy p{color:var(--muted);text-wrap:pretty;max-width:36rem;margin:0 auto 1rem}[data-words]{font-size:clamp(1.05rem,.45vw + .92rem,1.3rem);line-height:1.55;color:var(--ink)!important}.copy[data-place=caption] [data-words]{max-width:34rem;font-size:.95rem;color:var(--muted)!important}.wd{transition:opacity .12s linear}.hint{letter-spacing:.14em;text-transform:uppercase;font:400 .72rem/1.6 var(--mono)!important;color:var(--faint)!important;margin-top:1.6rem!important}.foot{color:var(--faint)!important;margin-top:2.5rem!important;font-size:.8rem!important}.go{color:var(--ink);font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;transition:background-size .8s var(--ease);box-shadow:inset 0 -1px 0 var(--line);background:linear-gradient(currentColor,currentColor) 0 100%/0% 1px no-repeat;margin-top:.25rem;padding-bottom:4px;text-decoration:none;display:inline-block}.go:after{content:" ↗"}.go:hover,.go:focus-visible{background-size:100% 1px}a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}@media (width<=760px){.index{display:none}.pill{letter-spacing:.12em;gap:.6rem;padding:.65rem .9rem}.pill .rule{width:1rem}.js .copy:not([data-place]):before{inset:-4rem -2rem}.js .copy[data-place=caption] [data-words]{display:none}}@media (width<=400px){.pill{gap:.9rem}.pill .rule{display:none}}@media (width<=340px){.mark{font-size:1rem}.pill{letter-spacing:.08em;gap:.7rem;padding:.6rem .75rem}}.js .story,html:not(.js) .see{display:none}.story .problem{color:var(--ink)}.story .beats{color:var(--muted);padding-left:1.2rem}button.go{cursor:pointer;background-color:#0000;border:0;margin:0}.go.see{margin-right:1.4rem}.go.see:after{content:" ▸"}.lens-close:after{content:none}.lens{--accent:236, 238, 242;z-index:20;padding:5.5rem var(--gutter) 3rem;opacity:0;transition:opacity .65s var(--ease);background:radial-gradient(at 42%,#04050a4d,#04050adb 72%);grid-template-columns:auto minmax(0,25rem);justify-content:center;align-items:center;gap:clamp(2rem,6vw,6.5rem);display:grid;position:fixed;inset:0}.lens[hidden]{display:none}.lens.on{opacity:1}.lens-stage{transition:transform 1s var(--ease);flex-direction:column;align-items:center;gap:1.3rem;margin:0;display:flex;position:relative;transform:translateY(28px)scale(.95)}.lens.on .lens-stage,.lens.flip .lens-stage{transform:none}.lens-phone{z-index:1;aspect-ratio:496/1080;perspective:1600px;transform-origin:0 0;height:min(72vh,46rem);position:relative}.lens-glass{transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));will-change:transform;box-shadow:0 0 0 1px #eceef23d, 0 0 0 7px #090b10eb, 0 0 0 8px #eceef21f, 0 40px 120px #000000b3, 0 0 110px rgba(var(--accent), .16);background:#000;border-radius:13%/6%;position:absolute;inset:0;overflow:hidden}.lens-glare{z-index:3;pointer-events:none;mix-blend-mode:screen;transform:translate3d(calc(var(--gx,0) * 22%), 0, 0);background:linear-gradient(105deg,#0000 38%,#ffffff17 47%,#ffffff05 54%,#0000 62%);position:absolute;inset:-20%}.lens-spot{z-index:2;pointer-events:none;opacity:0;transition:opacity .9s var(--ease);background:radial-gradient(circle at var(--fx,50%) var(--fy,50%), transparent 0 var(--fr,17%), #04050a80 calc(var(--fr,17%) + 23%), #04050a9e);position:absolute;inset:0}.lens-spot.on{opacity:1}.lens-note{z-index:4;left:var(--fx,50%);top:var(--fy,50%);opacity:0;width:0;height:0;transition:opacity .6s var(--ease);position:absolute}.lens-note.on{opacity:1}.lens-note{left:var(--nx,var(--fx,50%));top:var(--ny,var(--fy,50%))}.lens-note i{background:rgb(var(--accent));width:10px;height:10px;box-shadow:0 0 0 4px rgba(var(--accent), .25);border-radius:50%;position:absolute;top:-5px;left:-5px}.lens-note:before{content:"";height:1px;width:calc(var(--nxn,var(--fxn,.5)) * var(--pw,20rem) + 2.5rem);background:linear-gradient(to left, rgb(var(--accent)), rgba(var(--accent), .4));transform-origin:100%;transition:transform .8s .15s var(--ease);position:absolute;top:0;right:6px;transform:scaleX(0)}.lens-note.on:before{transform:scaleX(1)}.lens-note em{top:-.45rem;right:calc(var(--nxn,var(--fxn,.5)) * var(--pw,20rem) + 3.25rem);white-space:nowrap;font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-style:normal;position:absolute}.lens-video{z-index:0;object-fit:cover;filter:brightness(.9)contrast(1.03)saturate(.92);width:100%;height:100%;transform-origin:var(--fx,50%) var(--fy,50%);transform:scale(var(--fz,1));transition:transform 1.4s var(--ease), transform-origin 1.4s var(--ease);display:block;position:relative}.lens-glass:before,.lens-glass:after{content:"";z-index:1;pointer-events:none;border-radius:inherit;position:absolute;inset:0}.lens-glass:before{background:rgb(var(--accent));opacity:.16;mix-blend-mode:multiply}.lens-glass:after{background:linear-gradient(#04050a52,#0000 14% 84%,#04050a6b);box-shadow:inset 0 0 60px 14px #04050a8c}.lens-cue{text-align:center;max-width:22rem;min-height:2.5em;color:var(--ink);font:300 clamp(1.2rem, .9vw + .95rem, 1.6rem)/1.2 var(--display);letter-spacing:-.02em}.lens-cue .w{white-space:nowrap;display:inline-block}.lens-cue .ch{animation:gather .9s var(--ease) both;animation-delay:calc(var(--d) * 1ms);display:inline-block}@keyframes gather{0%{opacity:0;transform:translate3d(var(--dx), var(--dy), 0) rotate(var(--r));filter:blur(5px)}}.lens-knock{z-index:0;opacity:0;width:0;height:0;transition:opacity .5s var(--ease);position:absolute;top:calc(min(72vh,46rem)/2);left:50%}.lens-knock:before,.lens-knock:after{content:"";border:1.5px solid rgba(var(--accent), .95);width:20rem;height:20rem;box-shadow:0 0 40px rgba(var(--accent), .35), inset 0 0 40px rgba(var(--accent), .12);opacity:0;border-radius:50%;position:absolute;top:-10rem;left:-10rem}.lens.knock .lens-knock{opacity:1}.lens.knock .lens-knock:before{animation:knock 1.8s var(--ease) infinite}.lens.knock .lens-knock:after{animation:knock 1.8s .24s var(--ease) infinite}@keyframes knock{0%{opacity:0;transform:scale(.5)}8%{opacity:.6}55%,to{opacity:0;transform:scale(1.7)}}.lens.knock .lens-knock:before,.lens.knock .lens-knock:after{animation-duration:2s}.lens.knock .lens-knock:after{animation-delay:.18s}.lens-tapper{z-index:2;opacity:0;width:4.5rem;transition:opacity .5s var(--ease), transform .7s var(--ease);flex-direction:column;align-items:center;gap:.75rem;display:flex;position:absolute;top:38%;right:calc(100% + 1.75rem);transform:translate(8px)}.lens.knock .lens-tapper{opacity:1;transform:none}.lens-tapper svg{width:100%;overflow:visible}.lens-tapper .body{fill:#0e121a99;stroke:#eceef280;stroke-width:2px}.lens-tapper .cam{fill:none;stroke:#eceef259;stroke-width:2px}.lens-tapper .tip{fill:rgb(var(--accent));transform-box:fill-box;transform-origin:50%}.lens-tapper .ring{fill:none;stroke:rgb(var(--accent));stroke-width:2px;opacity:0;transform-box:fill-box;transform-origin:50%}.lens.knock .lens-tapper .tip{animation:press 2s var(--ease) infinite}.lens.knock .lens-tapper .r1{animation:2s ease-out infinite ring}.lens.knock .lens-tapper .r2{animation:2s ease-out .18s infinite ring}@keyframes press{0%,14%,to{transform:scale(1)}3%,12%{transform:scale(.7)}7%{transform:scale(1.05)}}@keyframes ring{0%{opacity:.9;transform:scale(1)}22%,to{opacity:0;transform:scale(3.4)}}.lens-weeks{z-index:2;opacity:0;width:2.5rem;height:15rem;transition:opacity .6s var(--ease);position:absolute;top:26%;right:calc(100% + 2.25rem)}.lens.weeks .lens-weeks{opacity:1}.lens-weeks svg{width:100%;height:100%;overflow:visible}.lens-weeks .rail{stroke:var(--line);stroke-width:1px}.lens-weeks .run{stroke:rgb(var(--accent));stroke-width:1.5px;stroke-dasharray:220;stroke-dashoffset:220px}.lens-weeks circle{fill:rgb(var(--accent));opacity:0;transform-box:fill-box;transform-origin:50%;transform:scale(.3)}.lens.weeks .lens-weeks .run{animation:run 1.4s .3s var(--ease) forwards}.lens.weeks .lens-weeks circle{animation:mark .6s var(--ease) forwards;animation-delay:calc(.3s + var(--i) * .22s)}@keyframes run{to{stroke-dashoffset:0}}@keyframes mark{to{opacity:1;transform:scale(1)}}.lens-weeks span{font:500 .66rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap;position:absolute;right:calc(100% + .6rem)}.lens-weeks .from{top:-.3rem}.lens-weeks .to{bottom:-.3rem}.lens-tapper span{font:500 .66rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:center}.lens-info{opacity:0;transition:transform 1s .12s var(--ease), opacity .7s .12s var(--ease);transform:translate(28px)}.lens.on .lens-info{opacity:1;transform:none}.lens-kicker{margin-bottom:1.1rem!important}.lens-title{text-align:left;margin:0 0 1rem;font-size:clamp(2.2rem,2.2vw + 1.1rem,3.4rem)}.lens-problem{color:var(--muted);text-wrap:pretty;margin:0 0 2.2rem;font-size:1.05rem;line-height:1.55}.lens-beats{counter-reset:beat;gap:1.15rem;margin:0 0 2.2rem;padding:0;list-style:none;display:grid}.lens-beats li{color:var(--faint);counter-increment:beat;transition:color .5s var(--ease);padding-left:2.6rem;font-size:.95rem;line-height:1.5;position:relative}.lens-beats li:before{content:counter(beat, decimal-leading-zero);font:500 .72rem/1 var(--mono);letter-spacing:.1em;position:absolute;top:.2rem;left:0}.lens-beats li b{color:inherit;font-weight:500;display:block}.lens-beats li.on{color:var(--ink)}.lens-beats .beat-bar{background:var(--line);height:1px;margin-top:.65rem;display:block}.lens-beats .beat-bar i{height:100%;width:calc(var(--p,0) * 100%);background:rgb(var(--accent));display:block}.lens-actions{align-items:baseline;gap:1.8rem;display:flex}.lens-x{top:var(--gutter);right:var(--gutter);z-index:21;border:1px solid var(--line);background:var(--glass);width:2.75rem;height:2.75rem;color:var(--ink);font:300 1.5rem/1 var(--text);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .4s var(--ease);border-radius:50%;position:fixed}.lens-x:hover,.lens-x:focus-visible{border-color:var(--ink)}.lens-hint{width:max-content;font:500 .72rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:0 auto;position:absolute;top:1.6rem;left:0;right:0}html.lensing{overflow:hidden}main,.index{transition:opacity .6s var(--ease)}html.lensing main,html.lensing .index{opacity:0}@media (width<=760px){.lens{grid-template-columns:1fr;align-content:start;justify-items:center;gap:1.6rem;padding-top:5rem;overflow-y:auto}.lens-phone{height:54vh}.lens-knock{top:27vh}.lens-tapper{gap:.5rem;width:2.75rem;top:28%;right:calc(100% + .9rem)}.lens-tapper span{letter-spacing:.08em;font-size:.56rem}.lens-weeks{width:1.5rem;height:11rem;top:22%;right:calc(100% + 1.1rem)}.lens-note em,.lens-weeks span{display:none}.lens-info{width:100%;transform:translateY(20px)}.lens-hint{display:none}}.cue{left:0;right:0;bottom:var(--gutter);z-index:10;width:max-content;font:500 .72rem/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);pointer-events:none;flex-direction:column;align-items:center;gap:.8rem;margin:0 auto;display:flex;position:fixed}.cue:after{content:"";background:linear-gradient(var(--ink), transparent) 0 0 / 1px 100% no-repeat;width:1px;height:2.75rem;animation:fall 2.2s var(--ease) infinite}@keyframes fall{0%{background-position:0 -2.75rem}to{background-position:0 2.75rem}}.no-webgl .cue,html:not(.js) .cue{display:none}@keyframes arrive{0%{opacity:0;filter:blur(8px);transform:translateY(18px)}}.js .bar,.js .index,.js .cue{animation:arrive 1.4s 2.2s var(--ease) both}@media (prefers-reduced-motion:reduce){.index a,.go,.pill a{transition:none}.sound[aria-pressed=true]:before,.js .bar,.js .index,.js .cue{animation:none}.lens,.lens-stage,.lens-info,.lens-beats li{transition:none}.lens-cue .ch,.lens.knock .lens-knock:before,.lens.knock .lens-knock:after{animation:none}.lens.knock .lens-knock:before{opacity:.4;transform:scale(1.1)}.lens.knock .lens-tapper .tip,.lens.knock .lens-tapper .r1,.lens.knock .lens-tapper .r2{animation:none}.lens-video{transition:none}.lens.weeks .lens-weeks .run,.lens.weeks .lens-weeks circle{stroke-dashoffset:0;opacity:1;animation:none;transform:none}.cue:after{animation:none}}
