:root{--paper:#f4ead7;--ink:#231f19;--red:#b62d25;--muted:#685c4b;--line:#bbae96;--cream:#fff7e8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Arial,Helvetica,sans-serif;background-image:radial-gradient(#685c4b10 .6px,transparent .6px);background-size:6px 6px}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:#b62d2522}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif}h2{font-size:clamp(38px,4.7vw,64px);line-height:1.06;letter-spacing:-.04em;font-weight:400;margin-bottom:24px}h3{font-size:32px;line-height:1.1;letter-spacing:-.02em}em{color:var(--red);font-weight:400}.eyebrow{font:700 10px/1.5 Arial,sans-serif;letter-spacing:.16em}.edition-strip{background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;padding:9px 4vw;font:700 9px/1.5 Arial;letter-spacing:.12em;gap:15px}.edition-strip span{font-weight:400}.site-header{position:relative;z-index:5;display:flex;align-items:center;gap:30px;justify-content:space-between;padding:25px 4vw;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand svg{width:39px;flex:none}.brand>span{font:700 20px/1.1 Georgia,serif;letter-spacing:.01em}.brand i{color:var(--red);font-weight:400}.brand small{display:block;font:700 7px Arial;letter-spacing:.14em;margin-top:8px}.site-header nav{display:flex;gap:27px;font-size:13px}.site-header nav a{text-decoration:none;position:relative}.site-header nav a:after{content:'';position:absolute;inset:auto 0 -5px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after{transform:scaleX(1)}.motion-toggle{border:1px solid var(--line);background:transparent;border-radius:30px;font:11px Arial;min-height:44px;padding:10px 14px;white-space:nowrap}.skip{position:fixed;top:8px;left:8px;z-index:30;background:var(--cream);padding:12px;transform:translateY(-160%)}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hero{display:grid;grid-template-columns:1fr 1.12fr;min-height:620px;margin:0 0 35px;padding:36px 4vw 0;gap:30px;overflow:hidden;align-items:center}.hero-copy{padding:35px 0;position:relative;z-index:2}.tiny-star{color:var(--red);font-size:15px;margin-right:12px}.hero h1{font-size:clamp(65px,7.8vw,118px);line-height:.93;font-weight:400;letter-spacing:-.065em;margin:27px 0 30px}.hero h1 em{display:inline-block}.hero-intro{font-size:18px;line-height:1.7;max-width:420px}.hero-small{font-size:11px;color:var(--muted);margin:20px 0 0}.button{display:inline-flex;align-items:center;gap:30px;justify-content:space-between;border:2px solid var(--ink);background:var(--red);color:var(--cream);padding:15px 24px;min-height:52px;font:700 13px/1.4 Arial;text-decoration:none;box-shadow:4px 4px 0 var(--ink);transition:transform .25s,box-shadow .25s}.button:hover,.button:focus-visible{transform:translate(-2px,-2px) rotate(-1deg);box-shadow:7px 7px 0 var(--ink)}.button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.ticket-button{position:relative;padding-inline:30px}.ticket-button:before,.ticket-button:after{content:'';position:absolute;top:50%;width:12px;height:20px;background:var(--paper);border:2px solid var(--ink);border-radius:50%;transform:translateY(-50%)}.ticket-button:before{left:-8px}.ticket-button:after{right:-8px}.ticket-button b{font-size:23px;font-weight:400}.outline-button{background:transparent;color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.hero-scene{position:relative;min-height:590px;border-radius:48% 48% 0 0;border:2px solid var(--ink);border-bottom:0;background:#e7d8bc;isolation:isolate;overflow:hidden;align-self:stretch;max-height:660px}.scene-rays{position:absolute;inset:0;background:repeating-conic-gradient(from 10deg at 50% 60%,#fbf3df80 0deg 10deg,transparent 10deg 22deg);opacity:.6}.curtain{position:absolute;top:0;bottom:26px;width:20%;background:repeating-linear-gradient(90deg,#7e201d 0,#b52e27 20px,#cc4634 35px,#88271f 53px);z-index:1;transition:transform 1.3s cubic-bezier(.2,.8,.2,1);border-bottom:8px double #e7b86c}.curtain-left{left:-10%;transform:rotate(11deg);border-radius:0 0 70% 0}.curtain-right{right:-10%;transform:rotate(-11deg);border-radius:0 0 0 70%}.scene-title{position:absolute;top:62px;left:12%;right:12%;text-align:center;font:700 clamp(25px,3.1vw,46px)/1 Georgia,serif;letter-spacing:-.04em;z-index:2}.scene-title i{color:var(--red)}.ushers{position:absolute;bottom:31px;left:-1%;width:102%;max-width:none;z-index:3;transform-origin:50% 90%;animation:usher-greet 1.15s cubic-bezier(.25,.7,.2,1) both}.speech{position:absolute;right:6%;top:36%;z-index:4;background:var(--cream);border:2px solid var(--ink);border-radius:50%;padding:15px 21px;min-height:60px;font:700 12px/1.35 Georgia;transform:rotate(8deg);box-shadow:3px 3px 0 #231f1940;transition:transform .25s;max-width:170px}.speech:after{content:'';position:absolute;bottom:-10px;left:28px;width:17px;height:17px;transform:skewY(-25deg);background:var(--cream);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink)}.speech:hover{transform:rotate(3deg) scale(1.03)}.speech.pop{animation:comic-pop .4s ease-out}.scene-footnote{position:absolute;bottom:10px;left:0;right:0;text-align:center;font:700 6px/1.5 Arial;letter-spacing:.08em;z-index:4}.program-ribbon{border-block:2px solid var(--ink);background:var(--red);color:var(--cream);display:flex;justify-content:space-evenly;align-items:center;padding:15px 20px;gap:20px;font:700 10px/1.4 Arial;letter-spacing:.15em;transform:rotate(-.8deg);margin:15px -2px 0}
.section-wrap{width:min(100% - 8vw,1280px);margin:auto;padding-block:86px;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:24px}.section-heading h2{margin:0}.section-heading>p{font-size:13px;color:var(--muted);margin:0;min-width:180px}.collection-note{font-size:12px;color:var(--muted);max-width:760px;margin-bottom:32px}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.film-card{background:var(--cream);border:2px solid var(--ink);box-shadow:7px 7px 0 #c3b392;position:relative;transform-origin:50% 90%}.film-card:nth-child(2){transform:rotate(.6deg)}.film-picture{display:block;position:relative;width:100%;border:0;background:var(--ink);padding:15px 30px;color:white;overflow:hidden}.film-picture:before,.film-picture:after{content:'';position:absolute;top:0;bottom:0;width:10px;background:repeating-linear-gradient(to bottom,var(--paper) 0px 11px,transparent 11px 26px);z-index:2;opacity:.8}.film-picture:before{left:9px}.film-picture:after{right:9px}.film-picture img{width:100%;aspect-ratio:1.365;object-fit:cover;filter:sepia(.1);transition:transform .65s,filter .65s}.play-medallion{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--cream);color:var(--ink);border:2px solid var(--ink);border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font-size:22px;box-shadow:4px 4px 0 #231f1970;transition:transform .3s}.film-picture:hover img{transform:scale(1.045);filter:sepia(0)}.film-picture:hover .play-medallion{transform:translate(-50%,-50%) rotate(-8deg) scale(1.1)}.film-meta{padding:26px 30px}.film-meta .eyebrow{color:var(--red);margin-bottom:12px}.film-meta h3{margin-bottom:13px}.film-meta p{font-size:14px;max-width:38ch;margin-bottom:16px}.film-meta small{font-size:10px;display:block;color:var(--muted)}.film-actions{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:24px}.film-actions button{background:transparent;border:0;border-bottom:2px solid var(--ink);min-height:44px;padding:8px 0;font:700 12px Arial}.film-actions a{font:12px Arial}.cast{border-block:1px solid var(--line)}.rubber-stamp{border:3px double var(--red);color:var(--red);transform:rotate(8deg);padding:12px 18px;text-align:center;font:700 11px/1.5 Arial;letter-spacing:.08em;flex:none}.character-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:50px}.character{display:grid;grid-template-columns:140px 1fr;gap:26px;align-items:start}.portrait{border:2px solid var(--ink);background:var(--ink);padding:6px;box-shadow:4px 4px 0 #c3b392;transform:rotate(-4deg);transition:transform .4s}.character:nth-child(2) .portrait{transform:rotate(4deg)}.character:hover .portrait{transform:rotate(0deg)}.portrait img{height:160px;width:100%;object-fit:cover}.character h3{font-size:28px;margin:0 0 14px}.character p{font-size:13px;margin:0 0 16px}.character a{font-size:11px}.ink-caption{display:flex;gap:22px;margin-top:50px;border-top:1px dashed var(--line);padding-top:20px;max-width:800px}.ink-caption>span{font-size:34px;color:var(--red)}.ink-caption p{font-size:12px;color:var(--muted);margin:0}.history{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.history-title{padding-top:20px}.history-title h2{font-size:clamp(45px,5.5vw,78px);line-height:1.04}.history-title>p:last-child{font-size:14px;color:var(--muted)}.deco-rule{color:var(--red);font-size:26px;margin-bottom:20px}.history-panels{display:grid;gap:20px}.comic-panel{position:relative;padding:30px 35px;background:var(--cream);border:2px solid var(--ink);box-shadow:5px 5px 0 #c3b392;overflow:hidden}.comic-panel:nth-child(2){background:#ead3c0}.comic-panel h3{position:relative;margin:0 0 16px;font-size:30px;max-width:90%}.comic-panel p{font-size:13px;max-width:42ch;position:relative}.comic-panel a{font-size:11px;position:relative}.panel-number{position:absolute;right:9px;top:0;color:#b62d2520;font:700 80px/1 Georgia;letter-spacing:-.05em}.sources{border-top:1px solid var(--line)}.sources .button{font-size:11px;min-width:230px}.source-intro{max-width:840px;font-size:14px;color:var(--muted);margin:30px 0}.source-record{border-top:1px solid var(--ink);padding:0}.source-record:last-of-type{border-bottom:1px solid var(--ink)}.source-record summary{min-height:76px;display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;font:22px Georgia;padding:20px 0}.source-record summary:after{content:'+';font:30px Georgia}.source-record[open] summary:after{content:'−'}.source-record summary>span:nth-child(2){font:700 9px Arial;letter-spacing:.1em;margin-left:auto;max-width:180px}.source-body{padding:5px 0 30px;max-width:900px;font-size:13px;overflow-wrap:anywhere}.source-body dl{display:grid;grid-template-columns:130px 1fr;gap:12px 25px}.source-body dt{font-weight:700}.source-body dd{margin:0}.source-body ul{padding-left:20px}.source-body a{line-height:1.9}.held-note{font-size:12px;color:var(--muted);margin:28px 0 0}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:center}.end-mark{font:italic 130px/1 Georgia;color:var(--red);transform:rotate(-10deg);text-align:center}.about h2{font-size:48px}.about p:not(.eyebrow){max-width:55ch;font-size:14px}.about .button{margin-top:12px}.site-footer{border-top:2px solid var(--ink);margin:0 4vw;padding:30px 0;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;align-items:center;font-size:10px}.site-footer p{margin:0}.footer-name{font:700 17px Georgia;text-decoration:none}
dialog{width:min(94vw,850px);max-height:92dvh;overflow:auto;border:3px solid var(--ink);background:var(--cream);padding:28px;box-shadow:10px 10px 0 #b62d2580;color:var(--ink)}dialog::backdrop{background:#231f19df;backdrop-filter:blur(4px)}.screening-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.screening-head h2{font-size:40px;margin-bottom:10px}.screening-head .eyebrow{margin-bottom:7px}.close-screening{background:var(--ink);color:var(--cream);width:44px;height:44px;border:0;flex:none}.screen-frame{background:var(--ink);border:9px solid var(--ink);margin:20px 0}.screen-frame video{display:block;width:100%;max-height:48dvh;min-height:180px}.player-note,#screening-credit,#screening-description,#screening-source,#screening-error{font-size:12px}#screening-error{color:#921b18;font-weight:700}.screening-credit{color:var(--muted)}body.modal-open{overflow:hidden}.reveal-ready .reveal:not(.landed){opacity:0;transform:translateY(25px) rotate(-1.5deg)}.reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.18,.8,.2,1);transition-delay:var(--delay,0ms)}.reveal.landed{opacity:1}body.effects-paused *,body.effects-paused *:before,body.effects-paused *:after{animation:none!important;transition:none!important}body.effects-paused .reveal{opacity:1!important;transform:none!important}.stage-lift{transform:translate3d(0,var(--scene-shift,0px),0)}
.ribbon-shell{overflow:hidden;padding-block:12px}.ushers{width:92%;left:4%}.scene-title{top:38px;font-size:clamp(25px,2.7vw,39px)}.speech{right:27%;top:31%;max-width:150px}
@keyframes usher-greet{0%{opacity:0;transform:translateY(50px) scale(.88)}60%{transform:translateY(-5px) scale(1.015)}100%{opacity:1;transform:none}}@keyframes comic-pop{0%,100%{transform:rotate(8deg) scale(1)}45%{transform:rotate(3deg) scale(1.07)}}
@media(min-width:1500px){.hero{padding-inline:max(4vw,calc((100vw - 1380px)/2));min-height:690px}}
@media(max-width:1000px){.site-header{gap:18px}.brand>span{font-size:17px}.site-header nav{gap:16px}.hero{gap:20px;min-height:530px}.hero-scene{min-height:510px}.scene-title{top:60px}.speech{top:35%;font-size:10px;padding:12px 16px}.character-grid{gap:30px}.character{grid-template-columns:100px 1fr;gap:20px}.portrait img{height:135px}.history{gap:40px}.edition-strip span{display:none}}
@media(max-width:760px){.edition-strip{font-size:7px}.site-header{flex-wrap:wrap;padding:18px 5vw;gap:18px}.brand{margin-right:auto}.brand small{font-size:6px}.site-header nav{order:3;width:100%;justify-content:space-between;font-size:12px;gap:15px}.site-header nav a{min-height:34px;display:flex;align-items:center}.motion-toggle{font-size:10px;padding:8px 11px}.hero{grid-template-columns:1fr;padding:20px 5vw 0;gap:15px;overflow:visible}.hero-copy{padding:25px 0 15px}.hero h1{font-size:clamp(65px,14vw,99px);margin:20px 0 25px}.hero-intro{font-size:16px}.hero-small{font-size:10px}.hero-scene{min-height:520px;max-width:520px;width:100%;justify-self:center;overflow:hidden}.scene-title{font-size:35px;top:45px}.speech{top:33%;font-size:11px}.scene-footnote{font-size:5.5px;bottom:12px}.program-ribbon{flex-wrap:wrap;gap:12px;padding:13px;font-size:8px;transform:none}.program-ribbon span:last-child{display:none}.section-wrap{width:90%;padding-block:58px}.section-heading{align-items:start;flex-direction:column;gap:20px}.section-heading>p{font-size:12px}.film-grid{grid-template-columns:1fr;gap:28px}.film-card:nth-child(2){transform:none}.film-meta{padding:24px}.film-picture{padding:13px 25px}.collection-note{font-size:11px}.character-grid{grid-template-columns:1fr;gap:40px}.character{grid-template-columns:110px 1fr}.character h3{font-size:25px}.history{grid-template-columns:1fr;gap:20px}.history-title h2{font-size:58px}.history-title h2 br:nth-of-type(1){display:none}.comic-panel{padding:26px}.source-record summary{font-size:20px;gap:10px}.source-record summary>span:nth-child(2){font-size:8px;max-width:105px}.source-body dl{grid-template-columns:1fr;gap:5px}.source-body dd{margin-bottom:13px}.rubber-stamp{padding:8px 13px;font-size:9px}.about{grid-template-columns:1fr;gap:35px}.end-mark{font-size:90px;text-align:left;margin-left:20px}.about h2{font-size:40px}.site-footer{gap:15px;padding-block:22px}dialog{padding:19px}.screening-head h2{font-size:33px}.screen-frame{border-width:5px}.screen-frame video{min-height:150px}.hero .eyebrow{font-size:9px}}
@media(max-width:400px){.hero-scene{min-height:385px}.scene-title{font-size:29px;top:35px}.speech{top:30%;font-size:9px;padding:10px 13px;max-width:145px}.ushers{bottom:35px}.hero h1{font-size:65px}.hero-intro br{display:none}.brand svg{width:29px}.brand>span{font-size:15px}.brand{gap:8px}.brand small{font-size:5px}.character{grid-template-columns:95px 1fr;gap:16px}.portrait img{height:130px}.character p{font-size:12px}.film-actions{gap:10px}.film-actions a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready .reveal{opacity:1!important;transform:none!important}.stage-lift{transform:none}}

/* A small silent act, driven by scroll rather than a timer or scroll trap. */
.scene-track{min-width:0;position:relative;--stage-height:min(590px,calc(100svh - 48px))}
.scene-track .hero-scene{height:var(--stage-height);min-height:0;max-height:none;width:100%}
.usher-pair{position:absolute;inset:0;z-index:3;pointer-events:none}
.ushers{animation:none;transform:none}
.projector-mascot{clip-path:inset(0 37% 0 0);transform-origin:31% 85%;transform:translate3d(var(--projector-x,0px),var(--projector-y,0px),0) rotate(var(--projector-angle,0deg))}
.ticket-mascot{clip-path:inset(0 0 0 63%);transform-origin:82% 90%;transform:translate3d(0,var(--ticket-y,0px),0) rotate(var(--ticket-angle,0deg)) scale(var(--ticket-scale,1))}
.projection-beam{position:absolute;inset:30% 2% 8% 37%;z-index:2;pointer-events:none;opacity:var(--beam,0);clip-path:polygon(0 35%,100% 0,100% 100%);background:linear-gradient(90deg,#fffbeaaa,#fff7e875 65%,#fff7e810)}
.projection-card{position:absolute;top:19%;left:25%;right:16%;z-index:5;pointer-events:none;text-align:center;color:var(--red);opacity:var(--beam,0);transform:translate3d(0,var(--card-y,24px),0) rotate(-3deg);text-shadow:1px 2px var(--cream)}
.projection-card span{font:700 10px Arial;letter-spacing:.22em;display:block}.projection-card i{display:block;font:italic 44px Georgia}
.hero-scene .speech{opacity:var(--bubble-fade,1)}
.hero-scene .scene-title{opacity:calc(1 - var(--beam,0))}
.scene-scroll-cue{display:none;margin:8px 0 0;align-items:center;gap:12px;font:700 10px/1.5 Arial;letter-spacing:.08em}.scene-scroll-cue a{margin-left:auto;font-weight:400;letter-spacing:0;min-height:36px;display:inline-flex;align-items:center}
body.scroll-show .hero{overflow:visible;align-items:start}
body.scroll-show .scene-track{height:calc(var(--stage-height) + 95svh + 36px)}
body.scroll-show .hero-scene{position:sticky;top:24px}
body.scroll-show .hero-copy{position:sticky;top:64px}
body.scroll-show .scene-scroll-cue{display:flex;position:sticky;top:calc(var(--stage-height) + 24px);background:var(--paper)}
body.scroll-show .scene-scroll-cue:before{content:'';position:absolute;left:0;top:0;width:var(--show-progress,0%);height:2px;background:var(--red)}
body.scroll-show .curtain-left{transform:translateX(calc(-1 * var(--curtain-open,0px))) rotate(11deg)}
body.scroll-show .curtain-right{transform:translateX(var(--curtain-open,0px)) rotate(-11deg)}
body.scroll-show .curtain{transition:none}
body.effects-paused .projector-mascot,body.effects-paused .ticket-mascot{transform:none}
body.effects-paused .projection-beam,body.effects-paused .projection-card{opacity:0}
body.effects-paused .hero-scene .speech{opacity:1}
body.effects-paused .hero-scene .scene-title{opacity:1}
@media(max-width:760px){.scene-track{--stage-height:min(520px,calc(100svh - 48px))}body.scroll-show .hero-copy{position:relative;top:auto}.projection-card i{font-size:34px}}
@media(max-width:400px){.scene-track{--stage-height:min(440px,calc(100svh - 48px))}.projection-card{top:16%}.projection-card i{font-size:30px}.scene-scroll-cue{font-size:9px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.projector-mascot,.ticket-mascot{transform:none}.projection-card,.projection-beam{opacity:0}.hero-scene .speech,.hero-scene .scene-title{opacity:1}}
