.cinema-page{color-scheme:dark;--garden-paper:#151716;--garden-ink:#eee9dd;--garden-muted:#aaa798;--garden-line:#414239;--garden-rust:#c8ab7e;background:#151716;color:#eee9dd;background-image:radial-gradient(ellipse at 35% 0,#46514c32,transparent 50%),repeating-linear-gradient(0deg,transparent,transparent 3px,#f5ddac02 4px)}.cinema-page .garden-shell{max-width:1200px;padding-inline:46px}.cinema-page .garden-top{height:88px;border-bottom-color:#4a4a3e}.cinema-page .garden-brand{color:#a9aa9b}.cinema-page .garden-seal{border-color:#a08b67;color:#ceb98d}.cinema-page .garden-top nav{color:#a8aa9c}.cinema-page .garden-top nav a:hover{color:#eee8d5}.cinema-main{padding:0 0 52px}.cinema-intro{position:relative;display:grid;grid-template-columns:1.4fr .6fr;gap:70px;align-items:center;padding:65px 0 50px;isolation:isolate}.cinema-intro:before{content:"";position:absolute;left:20%;right:0;top:0;bottom:-15px;background:linear-gradient(120deg,#c2d2c309,transparent 65%);clip-path:polygon(0 22%,100% 0,100% 100%,0 37%);z-index:-1;pointer-events:none}.cinema-eyebrow{display:flex;align-items:center;gap:10px;color:#b7a789;font:10px/1.8 Consolas,monospace;letter-spacing:.14em}.projector-light{width:5px;height:5px;border-radius:50%;background:#d1bd89;box-shadow:0 0 12px #d1bd8955}.cinema-intro h1{font:400 clamp(64px,7.5vw,90px)/1.35 var(--garden-serif);letter-spacing:.07em;margin:24px 0 16px;color:#eee8d8}.title-stop{color:#a28f6e}.intro-copy>p{font:18px/2 var(--garden-serif);color:#a7ab99;margin:0}.cinema-begin{display:inline-flex;gap:30px;align-items:center;font-size:11px;color:#c8b389;border-bottom:1px solid #76664b;padding:9px 0;margin-top:24px}.cinema-begin span{font-size:23px;line-height:1}.cinema-begin:hover{color:#f7dfad}.reel-note{justify-self:end;width:210px;color:#7d816f}.reel{display:block;width:165px;height:165px;margin:0 0 20px auto;stroke:#9b987b;stroke-width:.9;opacity:.58}.reel-note>span{font:8px/1.7 Consolas,monospace;letter-spacing:.13em;color:#8a8a77}.reel-note p{font:17px/1.9 var(--garden-serif);color:#a6a48c;margin:12px 0 0}.cinema-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:21px 0;position:relative;color:#8d8f78;font:9px/1.5 Consolas,monospace;letter-spacing:.15em}.cinema-strip:before,.cinema-strip:after{content:"";height:5px;position:absolute;left:0;right:0;background:repeating-linear-gradient(90deg,#626753 0 9px,transparent 9px 22px);opacity:.4}.cinema-strip:before{top:0}.cinema-strip:after{bottom:0}.film-feature{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:74px;align-items:center;padding:47px 0 58px;scroll-margin-top:25px}.poster{margin:0;min-width:0;position:relative}.poster:before{content:"";position:absolute;inset:10px -10px -10px 10px;border:1px solid #66634f;z-index:-1}.poster-open{display:block;position:relative;padding:10px;background:#252a27;border:1px solid #535747;box-shadow:0 15px 45px #0007;cursor:zoom-in;transition:transform .2s,border-color .2s}.poster-open:hover{transform:translateY(-3px);border-color:#bda67c}.poster img{display:block;width:100%;height:auto}.poster-zoom{position:absolute;right:17px;bottom:17px;background:#182321e8;border:1px solid #b9c4b349;color:#e8e8d7;font-size:10px;display:flex;gap:18px;padding:6px 10px}.poster-zoom>span{font-size:16px;line-height:1.4}.poster figcaption{display:flex;justify-content:space-between;gap:20px;font:8px/1.8 Consolas,var(--garden-sans);color:#828778;margin:16px 0 0;letter-spacing:.04em}.poster figcaption a{font:9px/1.8 var(--garden-sans);color:#a2977b;white-space:nowrap}.film-copy{min-width:0;padding-top:7px}.film-label{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#b49e79;font:10px/1.7 var(--garden-sans);letter-spacing:.17em}.frame-cross{font-size:22px;color:#767e69;line-height:1}.film-copy h2{font:400 clamp(34px,4vw,45px)/1.6 var(--garden-serif);letter-spacing:.06em;color:#e2dfca;margin:16px 0 4px}.film-original-title{font:11px/1.8 Consolas,monospace;letter-spacing:.03em;color:#959d8b;margin:0}.film-meta{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0 28px;color:#8e9985;font:10px/1.8 var(--garden-sans)}.film-meta span+span{border-left:1px solid #525744;padding-left:12px}.reflection-heading{display:flex;align-items:center;gap:15px;font:10px/1.8 var(--garden-sans);letter-spacing:.04em;color:#b7a17c}.reflection-heading i{height:1px;background:#525444;flex:1}.film-reflection{margin:20px 0 29px;padding:0 0 0 22px;border-left:1px solid #aa9875}.film-reflection p{font:400 clamp(23px,2.35vw,29px)/2.1 var(--garden-serif);color:#d2d7be;margin:0;overflow-wrap:anywhere}.film-ticket{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:20px;background:#c5baa0;color:#383e32;padding:17px 20px;position:relative;margin-top:35px;transform:rotate(-1deg)}.film-ticket:before,.film-ticket:after{content:"";position:absolute;top:50%;width:16px;height:16px;background:#151716;border-radius:50%;transform:translateY(-50%)}.film-ticket:before{left:-8px}.film-ticket:after{right:-8px}.ticket-label{font:8px/1.8 Consolas,monospace;letter-spacing:.1em;color:#6a6b54}.film-ticket p{font:18px/1.9 var(--garden-serif);margin:6px 0;color:#4b503c}.ticket-stub{border-left:1px dashed #8d8a6e;padding-left:19px;display:flex;flex-direction:column;justify-content:center;gap:3px}.ticket-stub>span:first-child{font:8px/1.4 Consolas,monospace;color:#6a6d55}.ticket-stub strong{font:24px/1.3 Georgia,serif;letter-spacing:.08em;font-weight:400}.ticket-bars{height:13px;width:43px;margin-top:3px;background:repeating-linear-gradient(90deg,#5e6650 0 1px,transparent 1px 3px,#5e6650 3px 5px,transparent 5px 7px)}.cinema-closing{display:flex;align-items:center;justify-content:center;gap:45px;margin:13px 0 12px;border-block:1px solid #393f32;padding:31px 20px;text-align:center}.cinema-closing p{font:18px/1.9 var(--garden-serif);color:#b7b396;margin:0}.cinema-closing p span{font-size:15px;color:#858c76}.closing-line{height:1px;width:55px;background:#5b624c}.cinema-page .garden-index{margin-top:38px}.cinema-page .garden-index a,.cinema-page .garden-index a+a{background:#1c211d;border-color:#414937;color:#b3bca1}.cinema-page .garden-index a:hover{background:#252e24;border-color:#758163}.cinema-page .garden-index a[aria-current=page]{background:#2b3025;border-color:#7e7c5e;color:#d4c49a}.cinema-page .garden-index small{color:#88977b}.cinema-page .garden-index strong{border-color:#404a35;color:#abbc95}.cinema-page .garden-footer{border-top-color:#3a4231;color:#818b73}#poster-viewer{width:min(850px,calc(100% - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:18px;background:#171d18;border:1px solid #767c63;color:#e8e3cf;border-radius:3px;overflow:auto}#poster-viewer::backdrop{background:#080e0bf2;backdrop-filter:blur(5px)}#poster-viewer header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:15px}#poster-dialog-title{font:400 19px/1.7 var(--garden-serif);margin:0}#close-poster{font:12px/1.8 var(--garden-sans);padding:7px 12px;background:#2c3329;border:1px solid #6f765d;color:#e9dfbd;cursor:pointer;min-height:40px}#close-poster:focus-visible{outline:2px solid #c8ab7e;outline-offset:3px}#poster-viewer>img{display:block;width:100%;height:calc(100dvh - 120px);object-fit:contain}body.poster-is-open{overflow:hidden}[hidden]{display:none!important}
@media(max-width:900px){.cinema-page .garden-shell{padding-inline:30px}.cinema-intro{gap:30px}.film-feature{gap:36px;grid-template-columns:minmax(210px,290px) minmax(0,1fr)}.film-reflection p{font-size:24px}.film-ticket{padding:15px;gap:12px;grid-template-columns:minmax(0,1fr) 65px}.film-ticket p{font-size:16px}.ticket-stub{padding-left:14px}.reel-note{width:180px}.reel{width:140px;height:140px}}
@media(max-width:680px){.cinema-page .garden-shell{padding-inline:22px}.cinema-page .garden-top{height:76px}.cinema-page .garden-brand{font-size:8px}.cinema-page .garden-top nav{gap:14px}.cinema-intro{padding:40px 0 33px;grid-template-columns:1fr 90px;gap:12px}.cinema-eyebrow{font-size:8px;letter-spacing:.08em;gap:7px}.cinema-intro h1{font-size:51px;letter-spacing:.04em;margin:20px 0 16px;white-space:nowrap}.title-stop{display:none}.intro-copy>p{font-size:16px}.cinema-begin{font-size:10px;gap:20px;margin-top:18px}.reel-note{width:90px;align-self:start;padding-top:43px;opacity:.65}.reel{width:90px;height:90px;margin-bottom:18px}.reel-note>span{font-size:6px;letter-spacing:.02em}.reel-note p{display:none}.cinema-strip{font-size:7px;letter-spacing:.08em;padding:18px 0}.cinema-strip:before,.cinema-strip:after{height:4px}.film-feature{display:block;padding:32px 0 33px;scroll-margin-top:20px}.poster{max-width:300px;width:calc(100% - 24px);margin:0 auto 39px}.poster-open{padding:9px}.poster figcaption{font-size:7px}.film-copy{padding-top:0}.film-copy h2{font-size:36px;margin-top:14px}.film-original-title{font-size:10px}.film-meta{font-size:10px;margin-bottom:25px}.film-reflection{padding-left:18px;margin:20px 0 27px}.film-reflection p{font-size:26px;line-height:2.1}.film-ticket{margin:30px 5px 0;padding:16px 20px;grid-template-columns:minmax(0,1fr) 72px;gap:20px}.film-ticket p{font-size:18px}.ticket-stub{padding-left:17px}.cinema-closing{padding:27px 10px;gap:22px;margin-top:8px}.cinema-closing p{font-size:17px}.cinema-closing p span{font-size:14px}.closing-line{width:25px}.cinema-page .garden-index{margin-top:29px}#poster-viewer{padding:13px}#poster-dialog-title{font-size:17px}#poster-viewer header{gap:10px}#close-poster{white-space:nowrap}}
@media(max-width:370px){.cinema-intro{grid-template-columns:1fr 64px}.cinema-intro h1{font-size:46px}.reel-note{width:64px}.reel{width:64px;height:64px}.reel-note>span{display:none}.film-ticket{gap:12px;padding-inline:15px}.film-ticket p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.poster-open{transition:none}}

.film-pages{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:24px 0 0;font-size:11px;color:#b6ad91}.film-pages>span{margin-right:auto;color:#8e9982;font-size:10px}.film-pages a{display:inline-flex;align-items:center;gap:20px;padding:8px 13px;border:1px solid #4b5541;background:#20271f;color:#b8c4a3}.film-pages a:hover{border-color:#a99a75;color:#e1d7b9}.film-feature+.film-feature{border-top:1px solid #3b4534;padding-top:52px}@media(max-width:680px){.film-pages{gap:10px;padding-top:22px}.film-pages>span{width:100%;margin:0}.film-pages a{font-size:10px;gap:15px}.film-feature+.film-feature{padding-top:34px}}

/* Personal end-of-viewing tickets. Times are supplied in Vietnam time, never converted in the browser. */
.ticket-watched{grid-template-columns:minmax(0,1fr) 88px;gap:22px;padding:22px 25px;background:#c9bda1;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,#4a4a2605 3px);border:1px solid #d0c4a7;box-shadow:0 5px 18px #0002}.ticket-memory{min-width:0}.ticket-watched .ticket-label{font-size:8px;letter-spacing:.12em;color:#6e7057}.ticket-time{display:block;margin:10px 0 7px}.ticket-day{display:flex;align-items:center;flex-wrap:wrap;gap:11px;font:12px/1.8 Consolas,monospace;letter-spacing:.08em;color:#5f664c}.ticket-day small{font:9px/1.8 var(--garden-sans);letter-spacing:.04em;color:#77785f}.ticket-clock{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 13px;margin-top:4px}.ticket-clock>span{font:400 clamp(39px,4vw,46px)/1.3 Consolas,monospace;letter-spacing:.035em;font-variant-numeric:tabular-nums;color:#343f32}.ticket-clock>small{font:10px/1.8 var(--garden-sans);letter-spacing:.08em;color:#74755c;white-space:nowrap}.ticket-zone{display:flex;align-items:center;gap:6px;margin-top:8px;font:9px/1.8 var(--garden-sans);letter-spacing:.04em;color:#74765c}.ticket-zone svg{flex-shrink:0}.ticket-watched .ticket-stub{align-items:center;justify-content:center;padding-left:18px;gap:8px}.ticket-watched .ticket-stamp{width:53px;height:53px;border:2px double #82654c;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:10px/1.5 var(--garden-serif);letter-spacing:.06em;color:#866449;transform:rotate(12deg);box-shadow:inset 0 0 0 3px #c9bda1,inset 0 0 0 4px #94755780;opacity:.85}.ticket-stamp small{font:6px/1.7 Consolas,monospace;letter-spacing:.18em;color:#866449}.ticket-serial{font:10px/1.6 Consolas,monospace;color:#656c52;letter-spacing:.05em;white-space:nowrap}.ticket-watched .ticket-bars{width:49px;height:14px;opacity:.8;margin:0}
@media(max-width:900px){.ticket-watched{grid-template-columns:minmax(0,1fr) 69px;padding:20px;gap:15px}.ticket-watched .ticket-stub{padding-left:14px}.ticket-clock>span{font-size:40px}.ticket-clock{gap:2px 8px}.ticket-clock>small{font-size:9px}.ticket-day{font-size:11px;gap:8px}.ticket-watched .ticket-stamp{width:47px;height:47px}}
@media(max-width:680px){.ticket-watched{grid-template-columns:minmax(0,1fr) 66px;margin:30px 4px 0;padding:19px 20px;gap:15px}.ticket-watched .ticket-label{font-size:7px;letter-spacing:.08em}.ticket-clock>span{font-size:42px}.ticket-day{font-size:11px}.ticket-day small{font-size:9px}.ticket-zone{font-size:8px}.ticket-watched .ticket-stub{padding-left:14px}.ticket-watched .ticket-stamp{width:46px;height:46px;font-size:9px}.ticket-serial{font-size:9px}}
@media(max-width:370px){.ticket-watched{grid-template-columns:minmax(0,1fr) 60px;padding:17px;gap:11px}.ticket-clock>span{font-size:37px}.ticket-clock>small{font-size:8px}.ticket-watched .ticket-stub{padding-left:11px}.ticket-day{font-size:10px;gap:6px}.ticket-day small{font-size:8px}.ticket-zone{font-size:7px;gap:4px}}

/* Film admission tickets: starts are estimated from recorded finish times and listed theatrical runtimes. */
.ticket-show{padding:20px 24px;gap:22px;grid-template-columns:minmax(0,1fr) 89px;background-color:#d0c3a3;border-color:#d9cdb0}.ticket-show .ticket-label{font-size:8px;letter-spacing:.13em;color:#777553}.ticket-movie{font:400 22px/1.7 var(--garden-serif);color:#444b35;margin:9px 0 10px;letter-spacing:.09em}.ticket-show .ticket-time{margin:0 0 6px}.ticket-show .ticket-clock{margin-top:3px}.ticket-show .ticket-clock>span{font-size:44px;line-height:1.25;color:#343d2d}.ticket-show .ticket-clock>small{font-size:10px;letter-spacing:.2em;color:#70704e}.ticket-session{display:flex;flex-wrap:wrap;gap:5px 16px;padding-top:8px;margin-top:8px;border-top:1px solid #aaa17e80;font:10px/1.8 var(--garden-sans);color:#666d4e}.ticket-session time{font:11px/1.8 Consolas,monospace;letter-spacing:.03em}.ticket-session a{font-size:9px;color:#797554;text-decoration:underline;text-decoration-color:#98906e80;text-underline-offset:3px}.ticket-show .ticket-zone{font-size:9px;letter-spacing:.04em;margin-top:8px}.ticket-estimate{display:block;font:8px/1.8 var(--garden-sans);color:#8a8260;margin-top:2px}.ticket-show .ticket-stub{padding-left:17px;gap:11px}.ticket-show .ticket-stub .ticket-stub-label{font:9px/1.8 var(--garden-serif);letter-spacing:.15em;color:#777554}.ticket-show .ticket-stub .ticket-stamp{font:10px/1.5 var(--garden-serif);color:#836140;width:52px;height:52px;border-color:#836140;box-shadow:inset 0 0 0 3px #d0c3a3,inset 0 0 0 4px #94755780;transform:rotate(10deg)}.ticket-show .ticket-stamp small{font-size:6px}.ticket-show .ticket-serial{font-size:9px}.ticket-show .ticket-bars{height:18px;width:47px}
@media(max-width:900px){.ticket-show{padding:19px 20px;gap:15px;grid-template-columns:minmax(0,1fr) 67px}.ticket-show .ticket-stub{padding-left:13px}.ticket-show .ticket-stub .ticket-stamp{width:46px;height:46px;font-size:9px}.ticket-show .ticket-clock>span{font-size:40px}.ticket-movie{font-size:21px}.ticket-session{gap:5px 12px}}
@media(max-width:680px){.ticket-show{padding:20px;gap:14px;grid-template-columns:minmax(0,1fr) 65px}.ticket-movie{font-size:22px;letter-spacing:.06em;margin:8px 0 11px}.ticket-show .ticket-clock>span{font-size:42px}.ticket-show .ticket-clock>small{font-size:9px}.ticket-show .ticket-zone{font-size:8px}.ticket-estimate{font-size:7px}.ticket-session{font-size:9px;gap:3px 12px}.ticket-session a{font-size:8px}.ticket-session time{font-size:10px}}
@media(max-width:370px){.ticket-show{padding:18px 16px;grid-template-columns:minmax(0,1fr) 56px;gap:11px}.ticket-movie{font-size:19px}.ticket-show .ticket-clock>span{font-size:36px}.ticket-show .ticket-stub{padding-left:10px}.ticket-show .ticket-stub .ticket-stamp{width:42px;height:42px;font-size:8px}.ticket-show .ticket-bars{width:39px}.ticket-session{font-size:8px}.ticket-show .ticket-label{font-size:7px;letter-spacing:.05em}}
