*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#171b19;color:#eee6d4;font:14px/1.8 -apple-system,BlinkMacSystemFont,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ddbd85;outline-offset:5px}.ribbon{display:flex;justify-content:space-between;padding:12px 5%;font-size:9px;letter-spacing:1.5px;border-bottom:1px solid #b8ad8b30}.ribbon>a{letter-spacing:0}header{display:flex;justify-content:space-between;align-items:center;padding:24px 5%;gap:20px}.wordmark{font:italic 24px Georgia}nav{display:flex;gap:28px;font-size:10px}nav button{border:0;background:none;padding:0}.hero{height:calc(100svh - 128px);min-height:650px;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:30px 6% 26px;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 33%;filter:grayscale(1) sepia(.13) brightness(.55);z-index:-3}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#151d1ac9,transparent 70%),linear-gradient(0deg,#151d1acc,transparent 60%);z-index:-2}.film-grain,.screen-grain{position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h150v150H0z' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.hero-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:2.5px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#ccb98f}h1,h2,h3{font-family:Georgia,serif;font-weight:normal}h1{font-size:clamp(55px,7.2vw,106px);line-height:1.02;letter-spacing:-3px;margin:23px 0}h1 em,h2 em{font-weight:normal;color:#d2b682}.hero-copy>p{font-size:13px;margin:20px 0 30px}.play{background:none;border:1px solid #d3c29b80;border-radius:30px;padding:12px 21px;font-size:11px;display:inline-flex;align-items:center;gap:14px}.play>span{font-size:9px;color:#ddbe82}.photo-note{font-size:8px;color:#c1bcaa;display:block;margin:12px 0;letter-spacing:1px}.hero-credit{display:flex;justify-content:space-between;align-items:end;gap:25px;font-size:7px;letter-spacing:1.8px}.hero-credit strong{display:block;font:20px Georgia;letter-spacing:0;margin-top:6px}.hero-credit>a{font-size:8px}.story,.premiere{max-width:1250px;margin:auto;padding:90px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:30px}h2{font-size:clamp(37px,4.8vw,65px);line-height:1.1;letter-spacing:-1.4px;margin:17px 0}.section-heading>p{font-size:12px;color:#bcbcae;line-height:1.9;max-width:250px}.screen{position:relative;aspect-ratio:16/9;background:#0c1110;overflow:hidden;border:1px solid #85795e55}.screen>img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:grayscale(1) sepia(.08) brightness(.76);transition:opacity .3s}.screen:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,#0b1110cc);pointer-events:none}.scene-number{position:absolute;left:25px;top:20px;z-index:2;font-size:8px;letter-spacing:2px}.subtitles{position:absolute;bottom:55px;left:25px;right:25px;z-index:2;text-align:center}.subtitles>span{font:italic clamp(18px,2.8vw,34px)/1.4 Georgia;background:#10171377;padding:7px 13px;box-decoration-break:clone}.screen-bottom{position:absolute;left:24px;right:24px;bottom:16px;display:flex;justify-content:space-between;z-index:2;font-size:8px;letter-spacing:2px}.playback{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:22px}.scene-tabs{display:flex;gap:20px}.scene-tabs button{border:0;border-bottom:1px solid transparent;background:none;color:#7e8a7e;font-size:9px;padding:7px 0}.scene-tabs button span{margin-left:8px;font-size:10px}.scene-tabs button[aria-pressed=true]{color:#e4c994;border-color:#ccac72}.transport{display:flex;gap:12px;flex:none}.transport button{border:1px solid #81795e77;background:none;padding:7px 12px;font-size:10px}.story-caption{font-size:12px;color:#b7bba9;margin:25px 0 0}.contact-sheet{background:#222923;padding:65px 6%;display:grid;grid-template-columns:1fr 1.7fr;gap:55px;align-items:center}.contact-sheet h2{font-size:38px}.contact-sheet p{font-size:11px;color:#b7bca8}.stills{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stills button{border:0;background:#131b15;padding:10px;text-align:left;transform:rotate(-3deg);transition:transform .2s}.stills button:nth-child(2){transform:rotate(3deg)}.stills button:hover{transform:translateY(-8px) rotate(0)}.stills span{font-size:8px;letter-spacing:2px;color:#9fa78f;display:block;margin-bottom:8px}.stills img{width:100%;aspect-ratio:.72;object-fit:cover;display:block;filter:grayscale(1) sepia(.12)}.premiere-title{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:45px}.premiere-title p{font-size:12px;color:#b6bba9}.ticket{display:grid;grid-template-columns:1fr 2.8fr 1fr;background:#ddd2b5;color:#2e3c31;border-radius:5px;overflow:hidden;box-shadow:0 20px 45px #07120b33}.ticket-date,.ticket-stub{padding:35px 20px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center}.ticket-date{border-right:1px solid #9c9e7f66}.ticket-date>span{font-size:8px;letter-spacing:2px}.ticket-date strong{font:80px/1 Georgia;margin:10px 0}.ticket-main{padding:35px 30px}.ticket-main .eyebrow{color:#758067;font-size:7px;letter-spacing:1.8px}.ticket-main h3{font-size:31px;line-height:1.2;margin:13px 0}.ticket-main p{font-size:12px;line-height:1.9}.ticket-main a{font-size:10px;border-bottom:1px solid #8b9277;padding-bottom:3px}.ticket-stub{border-left:1px dashed #788569;position:relative}.ticket-stub:before,.ticket-stub:after{content:'';position:absolute;left:-10px;width:20px;height:20px;border-radius:50%;background:#171b19}.ticket-stub:before{top:-10px}.ticket-stub:after{bottom:-10px}.ticket-stub>span{font-size:7px;letter-spacing:1.6px}.ticket-stub strong{font:25px/1.1 Georgia;letter-spacing:2px;margin:10px 0 20px}.barcode{height:27px;width:65px;margin-top:15px;background:repeating-linear-gradient(90deg,#46513e 0,#46513e 1px,transparent 1px,transparent 3px,#46513e 3px,#46513e 5px,transparent 5px,transparent 7px)}.ticket-actions{display:flex;justify-content:space-between;font-size:10px;margin-top:23px;gap:20px}.ticket-actions a,.ticket-actions button{border:0;border-bottom:1px solid #8b8e73;background:none;padding:3px 0;font-size:10px}#programme{list-style:none;padding:25px 0 0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}#programme[hidden]{display:none}#programme li{display:flex;gap:25px;border-bottom:1px solid #5f70564d;padding:15px 0;font-size:12px}#programme time{font-size:10px;color:#cfb37e;min-width:70px}.small{font-size:10px;color:#a2af98}.invitation{text-align:center;padding:85px 25px 70px;border-top:1px solid #73836b33}.invitation h2{font-size:clamp(45px,5.5vw,76px)}.invitation>p{font:19px/1.8 Georgia;color:#c2c5b3;margin:30px 0}.primary{background:#d4bb87;color:#263a2b;border:1px solid #d4bb87;padding:13px 26px;font-size:11px;cursor:pointer}.end-credit{display:flex;flex-direction:column;gap:12px;margin-top:70px}.end-credit>span{font-size:7px;letter-spacing:2px;color:#82947d}.end-credit strong{font:italic 25px Georgia;color:#d2c49e}footer{border-top:1px solid #6e7d6633;padding:26px 5%;display:flex;justify-content:space-between;align-items:start;gap:30px;font-size:9px}footer p{font-size:9px;color:#8d9f87;max-width:430px;margin:0}footer>span{font-size:7px;letter-spacing:1px;white-space:nowrap}dialog{background:#222d24;color:#e4dec9;border:1px solid #8d987577;padding:45px 30px 30px;max-width:720px;width:calc(100% - 30px);max-height:90dvh}dialog::backdrop{background:#0a100de0;backdrop-filter:blur(6px)}.close{position:absolute;top:7px;right:10px;width:40px;height:40px;border:0;background:none;font:28px Georgia}.lightbox-image{width:100%;max-height:70dvh;object-fit:contain;display:block}.lightbox-caption{font:italic 17px Georgia;text-align:center;margin:18px 0 4px}.rsvp-form{display:grid;gap:15px;margin-top:22px}.rsvp-form label{font-size:12px;display:grid;gap:6px}.rsvp-form input,.rsvp-form select{background:#17251b;color:#e5d5ae;border:1px solid #84936e;padding:12px;width:100%;font:15px sans-serif}.rsvp-form p{font-size:11px;color:#adbaa2}.rsvp-form h3{font-size:30px}.fade-in{animation:frame-in .6s ease both}@keyframes frame-in{from{opacity:.15;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media(max-width:650px){.ribbon{padding:11px 23px;font-size:7px;letter-spacing:.7px}header{padding:22px 23px}.wordmark{font-size:22px}nav{gap:15px;font-size:8px}nav a:first-child{display:none}.hero{min-height:650px;height:calc(100svh - 110px);padding:25px 25px 27px}.hero-top{font-size:6px;letter-spacing:1.5px}.hero-top span:last-child{max-width:110px;text-align:right}.hero-copy h1{font-size:60px;letter-spacing:-2px}.hero-copy>p{font-size:12px}.eyebrow{font-size:8px;letter-spacing:2px}.hero-credit{gap:15px}.hero-credit strong{font-size:17px}.hero-credit>span{font-size:6px;letter-spacing:.9px}.hero-credit>a{font-size:6px;max-width:65px;text-align:right}.story,.premiere{padding:55px 23px}.section-heading{flex-direction:column;align-items:start;gap:0;margin-bottom:26px}.section-heading>p{font-size:11px}.section-heading h2{font-size:40px}.screen{aspect-ratio:4/5}.screen>img{object-position:center}.scene-number{left:15px;top:15px;font-size:7px}.subtitles{bottom:52px;left:16px;right:16px}.subtitles>span{font-size:23px;line-height:1.6}.screen-bottom{left:15px;right:15px;font-size:6px;letter-spacing:1px}.playback{align-items:start;flex-direction:column;gap:15px}.scene-tabs{width:100%;gap:15px;justify-content:space-between}.scene-tabs button span{display:none}.scene-tabs button{font-size:11px;padding:8px}.transport{width:100%;justify-content:space-between}.transport button{padding:10px 17px}.story-caption{font-size:12px}.contact-sheet{padding:45px 23px;grid-template-columns:1fr;gap:25px}.contact-sheet h2{font-size:34px}.stills{gap:8px}.stills button{padding:6px}.stills span{font-size:6px;letter-spacing:1px}.premiere-title{flex-direction:column;align-items:start;gap:0;margin-bottom:25px}.premiere-title h2{font-size:37px}.ticket{grid-template-columns:80px 1fr}.ticket-date{padding:20px 9px}.ticket-date>span{font-size:6px;letter-spacing:.5px}.ticket-date strong{font-size:56px}.ticket-main{padding:25px 18px}.ticket-main h3{font-size:25px}.ticket-main p{font-size:10px}.ticket-main .eyebrow{font-size:5px;letter-spacing:1px}.ticket-stub{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:10px;border-left:0;border-top:1px dashed #788569;padding:14px 20px}.ticket-stub strong{font-size:15px;line-height:1;margin:0}.ticket-stub strong br{display:none}.ticket-stub>span{font-size:6px}.ticket-stub:before,.ticket-stub:after{top:-10px}.ticket-stub:before{left:-10px}.ticket-stub:after{left:auto;right:-10px}.barcode{margin:0;width:50px;height:18px}.ticket-actions{align-items:start;font-size:9px;gap:12px}.ticket-actions button,.ticket-actions a{font-size:9px}#programme{grid-template-columns:1fr;gap:0}#programme li{font-size:11px;gap:20px}.invitation{padding:55px 23px}.invitation h2{font-size:45px}.invitation>p{font-size:17px}.end-credit{margin-top:45px}footer{padding:25px 23px;flex-direction:column;gap:15px}dialog{padding:44px 22px 25px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;animation:none!important;transition:none!important}}

/* Second screening: objects that tell the story. */
.projection-room,.memory-reel{padding:100px 7%;overflow:hidden}.projection-heading,.reel-heading{max-width:660px}.projection-heading h2,.reel-heading h2{font:normal clamp(36px,5vw,66px)/1.08 Georgia;margin:20px 0}.projection-heading p,.reel-heading p{color:#b6b7a9}.projector-stage{position:relative;display:grid;grid-template-columns:30% 70%;align-items:center;margin-top:55px;gap:0}.projector-kit{position:relative;z-index:2;text-align:center;padding-right:20px}.projector-art{width:100%;display:block}.projector-kit .primary{font-size:11px;padding:12px 15px}.projector-caption{display:block;font:italic 12px Georgia;margin-top:15px;color:#a9ad96}.light-beam{position:absolute;left:24%;right:3%;top:10%;bottom:19%;background:linear-gradient(90deg,#e8d4a32e,#e8d4a30a);clip-path:polygon(0 49%,100% 0,100% 100%);opacity:0;transition:opacity .7s}.running .light-beam{opacity:1}.projection-screen{position:relative;z-index:1;padding:12px;background:#252b23;box-shadow:0 12px 45px #0005;border:1px solid #726d493d}.projection-frame{position:relative;aspect-ratio:1.4;overflow:hidden;background:#0e1410}.projection-frame>img{width:100%;height:100%;object-fit:contain;filter:sepia(.2) saturate(.7)}.projection-texture{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 129px,#eee3b508 130px 131px);box-shadow:inset 0 0 80px #0008}.projection-idle{position:absolute;inset:0;background:#1d271feb;display:grid;place-content:center;text-align:center}.projection-idle[hidden]{display:none}.projection-idle>span{font:italic 65px Georgia;color:#c0ac7b}.projection-idle p{font-size:8px;letter-spacing:2px}#projection-counter{position:absolute;right:15px;bottom:10px;font:10px monospace;color:#fff;background:#0006;padding:2px 6px}.projection-transport{display:flex;align-items:center;justify-content:space-between;padding-top:12px;gap:8px}.projection-transport>span{font-size:8px;letter-spacing:1px}.projection-transport button{background:none;border:1px solid #b8ad8b50;width:34px;height:32px}.running .projection-frame>img{animation:gate-jitter .24s steps(2,end) infinite}.running .projection-texture{animation:soft-flicker 1.3s infinite}.running .reel-one{animation:reel-one 3s linear infinite}.running .reel-two{animation:reel-two 3s linear infinite}.running .projector-lens{fill:#ead8a2;filter:drop-shadow(0 0 9px #e6cb86)}@keyframes reel-one{to{transform:translate(85px,65px) rotate(360deg)}}@keyframes reel-two{to{transform:translate(220px,65px) rotate(360deg)}}@keyframes gate-jitter{0%,100%{translate:0 0}50%{translate:.5px 1px}}@keyframes soft-flicker{0%,100%{opacity:.7}40%{opacity:.85}70%{opacity:.6}}
.ticket-printer{max-width:850px;margin:45px auto 0}.printer-shell{height:150px;position:relative;border:1px solid #8f9680;border-radius:22px 22px 5px 5px;background:linear-gradient(140deg,#697362,#303e34);box-shadow:0 18px 35px #0005;z-index:2}.printer-brand{position:absolute;left:25px;top:20px;letter-spacing:3px;font-size:10px}.printer-indicator{position:absolute;right:27px;top:27px;width:7px;height:7px;background:#d4bd87;border-radius:50%;box-shadow:0 0 12px #dfc58a}.printer-ridges{position:absolute;right:25px;top:55px;width:60px;height:22px;background:repeating-linear-gradient(0deg,#17261f 0 2px,transparent 2px 5px)}.printer-slot{position:absolute;left:6%;right:6%;height:13px;bottom:31px;background:#121b15;border-radius:8px;box-shadow:0 2px #8b9175}.printer-label{position:absolute;bottom:8px;left:0;right:0;text-align:center;font:8px monospace;letter-spacing:2px;color:#c5c4ac}.ticket-window{overflow:hidden;max-height:0;transition:max-height 1.8s ease}.ticket-sheet{transform:translateY(-105%);transition:transform 1.8s cubic-bezier(.24,.65,.27,1);padding:0 5% 10px}.ticket-sheet .ticket{margin:0;box-shadow:0 12px 30px #0005}.ticket-printer.printed .ticket-window{max-height:800px}.ticket-printer.printed .ticket-sheet{transform:translateY(0)}.print-controls{text-align:center;margin:25px 0}.print-controls p{font-size:12px;color:#b6b7a9}.print-controls button:disabled{opacity:.65;cursor:wait}#printed-details{max-width:850px;margin:auto}
.outline{background:transparent;border:1px solid #b8ad8b80;padding:11px 18px;border-radius:2px}.film-pull-control{display:flex;align-items:center;gap:30px;margin:40px 0 25px}.film-canister{width:85px;height:112px;background:linear-gradient(90deg,#7e632e,#d6bd7a 20%,#c3a56b 80%,#7b622f);border-radius:15px;box-shadow:inset 0 10px #20251e,inset 0 -9px #20251e;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#263326;flex-shrink:0;rotate:-6deg}.film-canister>span{font:bold 26px Georgia}.film-canister small{font:8px/1.5 monospace;text-align:center;letter-spacing:1px}.film-pull-control label{flex:1;font-size:11px;letter-spacing:1px}.film-pull-control input{display:block;width:100%;margin:20px 0;accent-color:#d4bb87;cursor:ew-resize}.film-viewport{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:15px;scrollbar-color:#9c885b #273025}.memory-film{display:flex;gap:12px;width:max-content;padding:30px 15px;background:#342f22;position:relative;clip-path:inset(0 calc(100% - var(--reveal)) 0 0);transition:clip-path .18s linear}.memory-film:before,.memory-film:after{content:'';position:absolute;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,transparent 0 10px,#171b19 10px 23px,transparent 23px 32px)}.memory-film:before{top:8px}.memory-film:after{bottom:8px}.memory-frame{width:270px;background:#d9d1b9;color:#303b30;padding:12px 12px 20px}.memory-frame>span{font:8px monospace;letter-spacing:1px}.memory-frame img{display:block;width:100%;height:235px;object-fit:cover;margin:10px 0 20px;filter:sepia(.25) saturate(.65)}.memory-frame h3{font:italic 27px/1.15 Georgia;margin:15px 0}.memory-frame p{font-size:11px;line-height:1.8}.reel-status{font:italic 15px Georgia;color:#d4bb87}.memory-reel>.small{max-width:650px;opacity:.6}.ending{position:relative;isolation:isolate;overflow:hidden;min-height:730px;display:flex;align-items:center;flex-direction:column;justify-content:center}.ending-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 33%;filter:grayscale(1) sepia(.13) brightness(.3);z-index:-3}.ending:after{content:'';position:absolute;inset:0;background:linear-gradient(#171b1977,#171b19cc);z-index:-2}.ending .film-grain{z-index:-1}.ending h2{font-size:clamp(48px,7vw,88px);line-height:1.06}.ending .ending-line{font:italic 20px Georgia;color:#d4bb87}.ending .end-credit{margin-top:50px}
@media(max-width:650px){.projection-room,.memory-reel{padding:65px 6%}.projector-stage{grid-template-columns:27% 73%;margin-top:35px}.projector-kit{padding-right:8px}.projector-kit .primary{font-size:9px;line-height:1.4;padding:9px 6px}.projector-caption{display:none}.projection-screen{padding:6px}.projection-frame{aspect-ratio:.9}.projection-transport>span{font-size:6px;letter-spacing:0}.projection-transport button{width:25px;height:29px}.projection-idle>span{font-size:40px}.projection-idle p{font-size:6px;letter-spacing:1px}.printer-shell{height:135px}.printer-brand{font-size:8px;letter-spacing:1px}.printer-label{font-size:7px;letter-spacing:1px}.ticket-sheet{padding:0 3% 10px}.ticket-sheet .ticket{padding:22px 17px}.film-pull-control{gap:16px;flex-wrap:wrap}.film-pull-control label{min-width:170px}.film-pull-control .outline{margin-left:100px;font-size:11px}.film-canister{width:70px;height:100px}.memory-frame{width:240px}.memory-frame img{height:210px}.ending{min-height:690px}.ending h2{font-size:50px}}
@media(prefers-reduced-motion:reduce){.running .projection-frame>img,.running .projection-texture,.running .projector-reel{animation:none}.ticket-window,.ticket-sheet,.memory-film{transition:none}}

/* Bare light projection, tactile film and a quiet soundtrack. */
.projector-kit #projector-toggle{background:transparent;border:0;box-shadow:none;color:#eadbb8;padding:0;width:55px;height:55px;display:inline-grid;place-content:center}.projector-kit #projector-toggle svg{width:40px;height:40px;fill:currentColor;filter:drop-shadow(0 1px 6px #0009)}.projector-kit #projector-toggle:hover{color:#fff;scale:1.07}.projector-caption{display:none}.projection-screen{padding:0;background:transparent;border:0;box-shadow:none}.projection-frame{background:transparent;overflow:visible}.projection-frame>img{object-fit:contain;mask-image:linear-gradient(transparent,#000 12% 88%,transparent),linear-gradient(90deg,transparent,#000 10% 90%,transparent);mask-composite:intersect;filter:sepia(.16) saturate(.75) brightness(1.08);opacity:.92}.projection-texture{inset:3%;box-shadow:none;mask-image:radial-gradient(ellipse,#000 35%,transparent 72%);background:repeating-linear-gradient(90deg,transparent 0 129px,#eee3b50a 130px 131px)}.projection-idle{background:radial-gradient(ellipse,#d4bb8713,transparent 70%)}.projection-idle>span{font-size:45px;opacity:.5}.projection-idle p{display:none}.projection-transport{justify-content:center;padding-top:20px;opacity:.6}.projection-transport>span{font-size:7px}.projection-transport button{border:0;background:none}#projection-counter{background:transparent;opacity:.6;bottom:0}.light-beam{filter:blur(8px);left:22%;top:4%;bottom:12%}.film-canister-photo{width:150px;height:140px;object-fit:contain;filter:drop-shadow(0 12px 10px #0007);flex-shrink:0}.memory-film{background:linear-gradient(0deg,#1e140e,#503c25 8%,#35281b 15%,#211a12 85%,#59422a 94%,#24190f);border-top:1px solid #9d7b4144;border-bottom:1px solid #9d7b4144;box-shadow:inset 0 4px 10px #e7b76b18,inset 0 -5px 12px #0009;gap:9px;padding:32px 18px}.memory-film:before,.memory-film:after{height:13px;background:repeating-linear-gradient(90deg,transparent 0 9px,#121911 10px 22px,transparent 23px 32px);filter:drop-shadow(0 1px 1px #ccac6966)}.memory-frame{background:#090f0c;color:#c7b88e;padding:8px 9px 16px;border-left:1px solid #94774344;border-right:1px solid #94774344}.memory-frame img{filter:sepia(.22) saturate(.65);box-shadow:inset 0 0 10px #0008;margin:12px 0 18px}.memory-frame h3{color:#e3d7b8}.memory-frame p{color:#b8ad93}.memory-frame>span{color:#bd8d49}.music-toggle{position:fixed;right:18px;bottom:18px;z-index:20;background:#19221dd9;backdrop-filter:blur(12px);border:1px solid #c3b17c66;border-radius:30px;padding:9px 14px;color:#dfd1ac;font-size:12px;box-shadow:0 4px 18px #0005}.music-toggle span{font-size:10px;margin-left:5px}.music-toggle[aria-pressed=true]{border-color:#d4bb87}
@media(max-width:650px){.film-canister-photo{width:105px;height:120px}.film-pull-control label{min-width:140px}.projector-kit #projector-toggle{width:45px;height:45px}.projection-transport>span{font-size:5px}.music-toggle{right:12px;bottom:12px}}
.projection-frame>img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto;max-width:100%;max-height:100%;mask-image:linear-gradient(transparent,#000 14% 86%,transparent),linear-gradient(90deg,transparent,#000 13% 87%,transparent)}

/* Fourth edition — metal projection equipment and developed 35mm film. */
.projector-photo{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 18px #000a);transition:filter .5s}.running .projector-photo{filter:drop-shadow(12px 0 20px #f1d49b2e) drop-shadow(0 16px 15px #0009)}.projector-stage{grid-template-columns:32% 68%;min-height:380px}.projector-kit{padding-right:0;position:relative}.projector-kit #projector-toggle{position:absolute;left:43%;bottom:-48px}.projection-frame{aspect-ratio:1.5}.projection-frame>img{max-width:100%;max-height:100%}.projection-transport{margin-top:12px}.light-beam{left:26%;top:7%;bottom:17%;clip-path:polygon(0 46%,100% 0,100% 100%,0 55%)}.film-pull-control{padding-left:0}.film-pull-control label{max-width:600px}.film-pull-control .outline{margin:0}.film-developing{display:flex;align-items:flex-start;margin:45px -3% 0}.film-developing>.film-canister-photo{width:210px;height:355px;object-fit:contain;object-position:right top;margin-top:-38px;margin-right:-7px;position:relative;z-index:2}.film-developing>.film-viewport{min-width:0;flex:1}.memory-film{gap:0;padding:0;background:none;border:0;box-shadow:none}.memory-film:before,.memory-film:after{display:none}.memory-frame{position:relative;width:390px;background:none;border:0;padding:0;color:#c7b88e}.memory-frame>span{display:block;position:absolute;top:14px;left:17px;z-index:1;color:#c9a363;font:7px monospace}.film-cell{position:relative;padding:36px 5px;background:#2b2422;border-top:1px solid #84736a77;border-bottom:1px solid #84736a77;box-shadow:inset 0 3px 5px #e6d9b51a}.film-cell:before,.film-cell:after{content:'';position:absolute;left:0;right:0;height:19px;background:repeating-linear-gradient(90deg,transparent 0 10px,#171b19 10px 25px,transparent 25px 37px);filter:drop-shadow(0 1px 1px #c9c1b655)}.film-cell:before{top:8px}.film-cell:after{bottom:8px}.film-cell>img{display:block;width:100%;height:250px;object-fit:cover;margin:0;filter:sepia(.13) saturate(.8);box-shadow:none}.memory-frame h3{font-size:26px;padding:0 20px;margin-top:25px}.memory-frame p{padding:0 20px}.film-cell:after{border-bottom:1px solid #a2937033}
@media(max-width:650px){.projector-stage{grid-template-columns:31% 69%;min-height:230px;margin-top:35px}.projector-kit #projector-toggle{bottom:-42px;left:34%}.projection-frame{aspect-ratio:1.5}.projection-transport>span{display:none}.projection-transport{gap:35px;margin-top:5px}.light-beam{top:15%;bottom:25%;left:25%}.film-developing{margin:35px -4% 0}.film-developing>.film-canister-photo{width:110px;height:223px;margin-top:-22px;margin-right:-7px}.memory-frame{width:285px}.film-cell{padding:28px 4px}.film-cell>img{height:183px}.film-cell:before,.film-cell:after{height:14px;background:repeating-linear-gradient(90deg,transparent 0 8px,#171b19 8px 19px,transparent 19px 28px)}.film-cell:before{top:6px}.film-cell:after{bottom:6px}.memory-frame>span{top:10px;font-size:6px;left:12px}.memory-frame h3{font-size:24px}.film-pull-control{gap:15px}.film-pull-control label{min-width:100%;}.film-pull-control .outline{margin-left:0}}
.film-developing>.film-canister-photo{width:310px;height:355px;margin-top:-10px;margin-right:-110px}.film-developing>.film-viewport{padding-top:20px}@media(max-width:650px){.film-developing>.film-canister-photo{width:200px;height:245px;margin-top:0;margin-right:-82px}.film-developing>.film-viewport{padding-top:8px}}
.light-beam{clip-path:polygon(0 66%,100% 0,100% 100%,0 72%)}.film-developing>.film-viewport{position:relative;z-index:3}

/* Fifth edition: a continuous room and a photographic workbench. */
.projector-stage{isolation:isolate;display:block;aspect-ratio:16/9;min-height:0;width:calc(100% + 16.28%);margin:45px -8.14% 0;padding:0;overflow:hidden;background:#1c211b}.projector-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}.projector-stage:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(0deg,#171b1944,transparent 30%)}.projector-photo{display:none}.projector-kit{position:absolute;inset:0 auto 0 0;width:32%;z-index:3}.projector-kit #projector-toggle{left:45%;bottom:8%;width:50px;height:50px;border-radius:50%;background:#171b192b;backdrop-filter:blur(4px)}.projection-screen{width:60%;margin:0 3% 0 37%;padding-top:7%;z-index:2}.projection-frame{aspect-ratio:1.5}.projection-frame>img{filter:sepia(.16) saturate(.7) brightness(.9);mix-blend-mode:screen;opacity:.88;mask-image:linear-gradient(transparent,#000 9% 91%,transparent),linear-gradient(90deg,transparent,#000 8% 92%,transparent)}.projection-texture{opacity:.3}.projection-idle{background:radial-gradient(ellipse,#cbb4810c,transparent 70%)}.projection-idle>span{font-size:40px;opacity:.4}.projection-transport{padding:0;margin-top:4px;opacity:.75}.projection-transport button{height:25px;background:#101b1544;border-radius:50%;font-size:13px}.light-beam{left:26%;right:1%;top:8%;bottom:10%;filter:blur(12px);opacity:0;background:linear-gradient(90deg,#f2dfab14,#f2dfab05);z-index:0;clip-path:polygon(0 64%,100% 2%,100% 96%,0 69%)}.running .light-beam{opacity:.7}.film-developing{position:relative;isolation:isolate;width:calc(100% + 16.28%);margin:35px -8.14% 0;padding:12% 3% 5% 27%;min-height:600px;display:block;overflow:hidden;background:#30261e}.film-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;z-index:-3}.film-developing:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(0deg,#171b1977,transparent 50%)}.film-developing>.film-canister-photo{display:none}.film-developing>.film-viewport{padding:0 0 18px;position:relative;z-index:2}.memory-frame{width:360px}.film-cell{background:#261d19d9;border-color:#8a766166;box-shadow:0 8px 15px #0006,inset 0 3px 5px #e6d9b51a}.film-cell>img{height:235px}.film-cell:before,.film-cell:after{opacity:.8}.memory-frame h3{color:#f0e2c3;text-shadow:0 2px 7px #0009}.memory-frame p{color:#d9cbb4;text-shadow:0 1px 5px #000}.memory-film{filter:drop-shadow(0 5px 5px #0004)}
@media(max-width:650px){.projector-stage{margin-top:30px;aspect-ratio:1.5;min-height:265px;width:calc(100% + 13.64%);margin-left:-6.82%;margin-right:-6.82%}.projector-scene{object-fit:fill}.projector-kit{width:32%}.projector-kit #projector-toggle{left:37%;bottom:5%;width:42px;height:42px}.projector-kit #projector-toggle svg{width:30px;height:30px}.projection-screen{width:63%;margin-left:35%;padding-top:12%}.projection-frame{aspect-ratio:1.5}.projection-transport{margin-top:6px;gap:25px}.projection-idle>span{font-size:24px}#projection-counter{font-size:8px;bottom:0;right:7px}.film-developing{width:calc(100% + 13.64%);margin-left:-6.82%;margin-right:-6.82%;padding:50px 0 25px 35%;min-height:400px}.film-scene{object-fit:cover;object-position:15% center}.memory-frame{width:260px}.film-cell>img{height:170px}.film-cell{padding-top:27px;padding-bottom:27px}.memory-frame h3{padding:0 13px;font-size:23px;margin-top:20px}.memory-frame p{padding:0 13px;font-size:10px}.film-developing>.film-viewport{padding-bottom:8px}}

/* Sixth edition: shared light, feathered scene transitions and an aligned film gate. */
body{background:#211d19}.projection-room,.premiere,.memory-reel{background:#211d19}.projection-room{background:radial-gradient(ellipse at 25% 70%,#49301e55,transparent 65%),#211d19;padding-bottom:30px}.premiere{padding-top:65px}.memory-reel{background:radial-gradient(ellipse at 20% 65%,#66401d45,transparent 70%),#211d19;padding-bottom:60px}.projector-stage{background:transparent;margin-top:15px;overflow:visible}.projector-scene{filter:saturate(.7) brightness(.83);mask-image:linear-gradient(transparent,#000 15% 78%,transparent);z-index:-3}.projector-stage:after{background:radial-gradient(ellipse at 55% 50%,transparent 45%,#211d1966 95%);z-index:-1}.projection-screen{padding-top:10%}.projector-kit #projector-toggle{bottom:14%;background:#211d1933}.film-developing{margin-top:0;background:transparent;min-height:610px;padding:calc(28.125vw - 153px) 0 80px 23%;overflow:hidden}.film-scene{width:100%;height:auto;object-fit:contain;object-position:left top;filter:saturate(.7) brightness(.8);mask-image:linear-gradient(transparent,#000 14% 68%,transparent);z-index:-3}.film-developing:after{background:radial-gradient(ellipse at 48% 40%,transparent 45%,#211d1955);z-index:-1}.film-developing>.film-viewport{padding:0 0 18px;scroll-behavior:auto;scrollbar-color:#a18b61 #211d19;touch-action:pan-x pan-y}.film-pull-control{position:sticky;top:8px;z-index:8;background:#211d19dc;backdrop-filter:blur(12px);padding:16px 18px;margin:25px -18px 0;border-radius:8px}.memory-film{transition:none;will-change:clip-path}.film-cell:before,.film-cell:after{background:repeating-linear-gradient(90deg,transparent 0 10px,#211d19 10px 25px,transparent 25px 37px)}.memory-frame p{max-width:330px}.ending{border-top:0}.ending:after{background:linear-gradient(#211d19,#211d1977 30%,#171b19cc)}.ending-backdrop{mask-image:linear-gradient(transparent,#000 22%)}
@media(max-width:650px){.projection-room{padding-bottom:0}.projector-stage{margin-top:10px;min-height:265px}.projector-scene{mask-image:linear-gradient(transparent,#000 16% 77%,transparent);filter:saturate(.65) brightness(.78)}.projector-kit #projector-toggle{bottom:14%}.premiere{padding-top:45px}.film-developing{padding:calc(56.25vw - 112px) 0 50px 42%;min-height:490px;margin-top:0}.film-scene{left:-4%;width:200%;height:auto;max-width:none;object-fit:contain;object-position:left top;mask-image:linear-gradient(transparent,#000 14% 70%,transparent)}.film-pull-control{top:5px;padding:12px 14px;margin-left:-14px;margin-right:-14px;gap:4px}.film-pull-control label{font-size:10px}.film-pull-control input{margin:12px 0}.film-pull-control .outline{padding:8px 12px;font-size:10px}.film-cell:before,.film-cell:after{background:repeating-linear-gradient(90deg,transparent 0 8px,#211d19 8px 19px,transparent 19px 28px)}.memory-reel{padding-bottom:35px}}

.memory-reel{overflow:clip}.film-pull-control{background:linear-gradient(transparent,#211d19f2 20% 80%,transparent);backdrop-filter:none;border-radius:0}@media(max-width:650px){.memory-frame{width:58vw}}
.film-developing{padding-left:23vw}@media(max-width:650px){.film-developing{padding-left:42vw}}
