@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500&display=swap');
:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#080e16;color:#eee6d9;overflow-x:hidden}header{position:absolute;top:28px;left:5%;z-index:5;pointer-events:none}h1{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(42px,4.5vw,64px);font-weight:500;letter-spacing:-2px;color:#dfc08b;text-shadow:0 2px 30px #080e16}.observatory{position:relative;height:100svh;min-height:580px;overflow:hidden}.scene{position:absolute;inset:0;overflow:hidden}.scene img{position:absolute;max-width:none;pointer-events:none;mask-image:linear-gradient(180deg,#000 65%,transparent 100%)}#cosmos{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.instrument{position:absolute;inset:0;z-index:2;touch-action:none;outline:none}.instrument:focus-visible{outline:1px solid #dfc08b;outline-offset:-12px}.instrument.dragging{cursor:grabbing!important}@media(max-width:600px){header{top:20px;left:7%}.observatory{min-height:600px}.scene{top:90px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.scroll-story{height:230svh;position:relative}.observatory{position:fixed;inset:0;width:100%;height:100svh;min-height:0}header{position:fixed}.instrument{touch-action:pan-y}.scroll-light{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0}.scroll-light svg{display:block;width:100%;height:100%}.white-finale{position:absolute;inset:0;z-index:6;background:#fff;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none}.white-finale p{margin:0;padding:20px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(58px,12vw,190px);font-weight:500;line-height:1.15;letter-spacing:-.04em;color:#fff;-webkit-text-stroke:.45px rgba(0,0,0,.18);text-shadow:0 2px 3px rgba(0,0,0,.15),0 10px 30px rgba(0,0,0,.075)}

.scroll-story{height:230svh}
.scene{transform:scaleX(-1)}

.scene[data-beyond="true"] img{visibility:hidden}body[data-beyond="true"] #cosmos{visibility:hidden}body[data-beyond="true"]{background:#030407}

.finale-content{width:100%;display:flex;flex-direction:column;align-items:center;padding:24px}
.access-form{color-scheme:light;width:min(420px,100%);margin:18px 0 0;color:#454545;opacity:0;pointer-events:none;font:300 15px/1.5 'Segoe UI','Helvetica Neue',Arial,sans-serif}
.access-form label{display:block;margin-bottom:12px;text-align:center;font-size:16px}
.access-fields{position:relative;display:flex;align-items:stretch}.access-fields::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff;box-shadow:0 0 0 .45px rgba(0,0,0,.18),0 2px 3px rgba(0,0,0,.15),0 10px 30px rgba(0,0,0,.075);pointer-events:none}
.access-form input[type=email]{width:100%;min-width:0;padding:14px 8px;background:transparent;border:0;border-radius:0;color:#222;font:inherit;font-size:16px}
.access-form input::placeholder{color:#757575;opacity:1}
.access-form button{flex-shrink:0;padding:12px 8px 12px 16px;border:0;background:transparent;color:#333;font:inherit;cursor:pointer}
.access-form button{transition:color 650ms ease,text-shadow 650ms ease,transform 650ms ease}
@media(hover:hover){.access-form button:hover:not(:disabled){color:#171717;text-shadow:0 2px 3px rgba(0,0,0,.16),0 7px 18px rgba(0,0,0,.09);transform:translateY(-1px)}}
.access-form button:active:not(:disabled){transform:translateY(0);text-shadow:0 1px 2px rgba(0,0,0,.12);transition-duration:180ms}
@media(prefers-reduced-motion:reduce){.access-form button{transition:none}.access-form button:hover:not(:disabled){transform:none}}
.access-form input:focus-visible,.access-form button:focus-visible{outline:1px solid #666;outline-offset:3px}
@media(max-width:420px){.finale-content{padding:20px}.access-form{margin-top:14px;font-size:14px}.access-form button{padding-left:8px}}

.access-status{display:block;min-height:3em;margin-top:14px;text-align:center;font-size:13px;color:#555}.access-form button:disabled{cursor:wait;color:#888}



body[data-finale-locked="true"]{overflow:hidden}body[data-finale-locked="true"] .scroll-story{height:100svh}body[data-finale-locked="true"] .scene{visibility:hidden;pointer-events:none}
