:root{color-scheme:dark;--bg:#000;--text:#f0f0f0;--muted:#a1a1a1;--line:#252525;--font:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:48px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fff;outline-offset:6px}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(30px,3.2vw,44px);font-weight:500;line-height:1.45;letter-spacing:-.025em}h3{font-size:30px;font-weight:500;line-height:1.45;letter-spacing:-.02em}.skip{position:fixed;top:-80px;left:20px;z-index:50;background:white;color:black;padding:10px 20px}.skip:focus{top:10px}.site-header{position:absolute;top:0;left:0;width:100%;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;z-index:2}.brand{font-size:20px;font-weight:600;letter-spacing:3px;line-height:1.4}.brand span{display:block;font-size:10px;letter-spacing:2px;color:#888;font-weight:400;margin-top:6px}.site-header nav{display:flex;gap:32px;align-items:center;font-size:12px;color:#aaa}.site-header nav a{transition:color .2s}.site-header nav a:hover{color:#fff}.nav-contact{border:1px solid #4b4b4b;padding:10px 20px;border-radius:30px;display:flex;gap:22px;color:#eee}.hero{min-height:800px;height:100svh;max-height:1080px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 24px 105px}.hero-inner{width:100%;max-width:900px}.hero-role{font-size:11px;letter-spacing:4px;color:#999}.hero h1{line-height:0;width:min(100%,740px);margin:32px auto 22px}.wordmark{width:100%;height:auto;aspect-ratio:3/1;object-fit:contain}.hero-line{font-size:clamp(18px,2vw,24px);font-weight:400;letter-spacing:2px;color:#e1e1e1}.hero-description{font-size:13px;line-height:2;color:#929292;margin:22px 0 0}.actions{display:flex;gap:12px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:30px}.button{border:1px solid #555;border-radius:32px;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:12px 27px;font-size:12px;letter-spacing:1px;line-height:1.5;transition:background .2s,color .2s,border-color .2s}.button:hover{border-color:#fff;background:#181818}.button.primary{background:#eee;color:#111;border-color:#eee}.button.primary:hover{background:#fff;border-color:#fff}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:15px;font-size:10px;letter-spacing:3px;color:#777}.scroll-line{height:32px;width:1px;background:#333;position:relative;overflow:hidden}.scroll-line:after{content:'';position:absolute;width:1px;height:12px;top:-12px;background:#bbb;animation:scroll-tick 2.6s ease-in-out 3}.section{padding:112px max(6%,calc((100vw - 1200px)/2));border-top:1px solid #1d1d1d}.section-label{font-size:11px;color:#929292;letter-spacing:2px;margin-bottom:28px;line-height:1.5}.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:11%}.about h2{font-size:clamp(28px,3vw,40px)}.about-copy{max-width:470px;color:#a7a7a7;font-size:14px;line-height:2.1}.about-copy p+p{margin-top:16px}.about-copy p:first-child{color:#ddd}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:72px}.section-heading .section-label{margin-bottom:24px}.section-aside{font-size:12px;line-height:2;color:#999;padding-bottom:7px;max-width:300px}.show{display:grid;grid-template-columns:1.12fr 1fr;gap:9%;align-items:center}.show+.show{margin-top:122px;padding-top:100px;border-top:1px solid var(--line)}.show-copy{padding:8px 0}.show-format{font-size:11px;letter-spacing:2px;color:#999;margin-bottom:12px}.show-copy h3{margin-bottom:24px}.show-copy>p:not(.show-format){font-size:14px;line-height:2.1;color:#aaa}.show-copy>p+p{margin-top:16px}.show-facts{margin:28px 0 26px;padding:20px 0;border-top:1px solid #272727;border-bottom:1px solid #272727;font-size:11px;line-height:1.9}.show-facts div{display:flex;gap:24px}.show-facts div+div{margin-top:9px}.show-facts dt{color:#777;flex-shrink:0}.show-facts dd{margin:0;color:#bcbcbc}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:12px;line-height:2;padding:4px 0;border-bottom:1px solid #666;transition:border-color .2s}.text-link:hover{border-color:white}.text-link span{display:inline-block;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.photo{display:block;position:relative;width:100%;padding:0;border:0;background:#101010;overflow:hidden;text-align:left;border-radius:2px}.photo img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.photo:hover img{transform:scale(1.025)}.photo-expand{position:absolute;bottom:14px;right:14px;width:29px;height:29px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;color:white;background:#0005;font-size:17px;opacity:0;transition:opacity .2s}.photo:hover .photo-expand,.photo:focus-visible .photo-expand{opacity:1}.show-main{aspect-ratio:4/3}.show-main img{object-position:center}.show-detail{width:58%;aspect-ratio:4/3;margin:-55px -18px 0 auto;border:7px solid black}.image-note{display:block;color:#777;font-size:10px;margin-top:15px}.show-theatre{grid-template-columns:1fr 1.12fr}.theatre-main{aspect-ratio:3/2}.theatre-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.theatre-pair .photo{aspect-ratio:3/2}.moments .section-heading{margin-bottom:50px}.moment-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:36px 20px}.moment-grid figure{min-width:0}.moment-grid .photo{width:100%;aspect-ratio:3/2}.moment-grid figcaption{font-size:11px;color:#888;line-height:1.6;margin-top:12px}.wide-shot{grid-column:span 7}.table-shot{grid-column:span 5}.table-shot .photo{aspect-ratio:auto;height:calc(100% - 30px)}.portrait-shot{grid-column:span 4}.portrait-shot .photo{aspect-ratio:4/5}.portrait-shot .photo img{object-position:center 38%}.stage-shot{grid-column:span 7}.solo-shot{grid-column:span 5}.solo-shot .photo{aspect-ratio:auto;height:calc(100% - 30px)}.group-shot{grid-column:1/-1;margin-top:8px}.group-shot .photo{aspect-ratio:2.3/1}.group-shot img{object-position:center 55%}.faq{display:grid;grid-template-columns:.85fr 1.35fr;gap:10%;align-items:start}.faq-intro{position:sticky;top:45px}.faq-intro>p:not(.section-label){font-size:13px;line-height:2;color:#999;margin-top:26px}.faq-intro .text-link{margin-top:28px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0;cursor:pointer;font-size:16px;line-height:1.6}summary::-webkit-details-marker{display:none}.faq-icon{position:relative;width:18px;height:18px;flex-shrink:0}.faq-icon:before,.faq-icon:after{content:'';position:absolute;background:#aaa;left:3px;top:8px;width:12px;height:1px;transition:transform .25s}.faq-icon:after{transform:rotate(90deg)}details[open] .faq-icon:after{transform:rotate(0)}.answer{overflow:hidden}.answer p{font-size:13px;line-height:2;color:#a5a5a5;padding:0 25px 25px 0;max-width:540px}.contact-section{text-align:center;padding-top:108px;padding-bottom:100px}.contact-section h2{font-size:clamp(29px,3.7vw,48px)}.contact-description{font-size:13px;color:#aaa;line-height:2;margin-top:23px}.contact-number{display:block;font-family:var(--font);font-size:clamp(30px,4vw,46px);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:2px;line-height:1.5;margin-top:32px}.contact-section .actions{margin-top:25px}.contact-status{min-height:21px;color:#aaa;font-size:12px;margin-top:16px}footer{border-top:1px solid var(--line);max-width:1400px;margin:auto;padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer .brand{font-size:17px}footer p{font-size:10px;color:#777}.back-top{font-size:11px;color:#999}dialog{border:1px solid #3a3a3a;background:#080808;color:#eee;border-radius:5px;padding:0}dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.contact-dialog{width:min(480px,calc(100% - 36px));text-align:center;padding:48px 28px 23px}.contact-dialog .section-label{margin-bottom:20px}.contact-dialog h2{font-size:25px}.contact-dialog>p:not(.section-label):not(.contact-status){color:#999;font-size:12px;margin-top:12px}.contact-dialog .contact-number{font-size:29px;margin-top:25px}.contact-dialog .actions{margin-top:25px}.contact-dialog .button{min-height:44px;padding:10px 23px}.dialog-close{position:absolute;right:12px;top:10px;z-index:2;background:#0009;border:0;border-radius:50%;width:36px;height:36px;font-size:26px;color:#ddd;line-height:1}.photo-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#000;border:0;border-radius:0;overflow:hidden}.photo-dialog[open]{display:flex;align-items:center;justify-content:center}.photo-dialog figure{width:calc(100% - 160px);height:calc(100% - 130px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.photo-dialog figure img{width:auto;height:auto;max-width:100%;max-height:calc(100% - 40px);object-fit:contain}.photo-dialog figcaption{font-size:12px;color:#aaa;text-align:center}.photo-prev,.photo-next{position:absolute;top:50%;transform:translateY(-50%);width:45px;height:60px;border:0;background:#111;color:white;font-size:33px;border-radius:3px}.photo-prev{left:20px}.photo-next{right:20px}.photo-count{position:absolute;bottom:22px;font-size:11px;color:#999;letter-spacing:2px}.photo-dialog .dialog-close{right:22px;top:20px}.hero-inner{animation:hero-enter .9s ease-out both}.hero h1{animation:signature-enter 1.2s cubic-bezier(.16,1,.3,1) both}.hero-description,.hero .actions{animation:hero-enter 1s .15s ease-out both}dialog[open]{animation:dialog-enter .2s ease-out}.photo-dialog[open]{animation:none}.photo-dialog figure img.changing{animation:photo-enter .22s ease-out}@keyframes hero-enter{from{opacity:0}to{opacity:1}}@keyframes signature-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-tick{0%{transform:translateY(0)}65%,100%{transform:translateY(48px)}}@keyframes dialog-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-enter{from{opacity:.35}to{opacity:1}}@media(hover:none){.photo-expand{opacity:.8}.photo:hover img{transform:none}}@media(min-width:1600px){.section{padding-left:calc((100vw - 1200px)/2);padding-right:calc((100vw - 1200px)/2)}}@media(max-width:960px){.section{padding:85px 6%}.show{gap:6%}.show+.show{margin-top:85px;padding-top:75px}.show-copy h3{font-size:26px}.show-detail{margin-right:-8px}.about-grid{gap:7%}.faq{gap:7%}.site-header{padding:25px 5%}}@media(max-width:640px){html{scroll-padding-top:24px}.site-header{padding:22px 6%}.brand{font-size:18px}.brand span{font-size:9px;letter-spacing:1px}.site-header nav{gap:0}.site-header nav>a:not(.nav-contact){display:none}.nav-contact{padding:9px 15px;font-size:11px;gap:16px}.hero{height:100svh;min-height:700px;max-height:900px;padding:105px 6% 100px}.hero-role{font-size:10px;letter-spacing:3px}.hero h1{width:115%;max-width:none;margin:38px -7.5% 25px}.hero-line{font-size:16px;letter-spacing:.5px}.hero-description{font-size:11px;line-height:2.1;margin-top:20px}.hero .actions{margin-top:29px}.button{padding:12px 23px;font-size:11px;min-height:46px}.scroll-cue{bottom:25px;font-size:9px;gap:13px}.section{padding:66px 6%}.section-label{font-size:10px;margin-bottom:22px}h2{font-size:29px;line-height:1.5;letter-spacing:-.02em}.about-grid{grid-template-columns:1fr;gap:27px}.about h2{font-size:28px}.about-copy{font-size:13px;line-height:2.1}.about-copy p+p{margin-top:14px}.section-heading{display:block;margin-bottom:37px}.section-heading .section-label{margin-bottom:20px}.section-aside{font-size:11px;margin-top:22px;padding:0}.show,.show-theatre{grid-template-columns:1fr;gap:30px}.show-copy{padding:0}.show-copy h3{font-size:26px;margin-bottom:20px}.show-copy>p:not(.show-format){font-size:13px;line-height:2}.show-detail{width:53%;margin-top:-40px;margin-right:-5px;border-width:5px}.image-note{margin-top:10px;font-size:9px}.show-facts{margin:22px 0;font-size:10px}.show+.show{margin-top:55px;padding-top:55px}.show-theatre .theatre-media{order:-1}.show-format{font-size:10px}.theatre-pair{gap:9px;margin-top:9px}.text-link{font-size:11px}.moments .section-heading{margin-bottom:32px}.moment-grid{gap:24px 12px}.wide-shot,.table-shot,.stage-shot,.solo-shot{grid-column:span 6}.moment-grid .photo{aspect-ratio:4/3;height:auto}.portrait-shot .photo{aspect-ratio:3/5}.portrait-shot{grid-column:span 4}.moment-grid figcaption{font-size:9px;margin-top:9px;line-height:1.8}.group-shot .photo{aspect-ratio:3/2}.group-shot{margin-top:0}.faq{grid-template-columns:1fr;gap:35px}.faq-intro{position:static}.faq-intro>p:not(.section-label){margin-top:18px;font-size:12px}.faq-intro .text-link{margin-top:20px}summary{font-size:14px;padding:22px 0;gap:18px}.answer p{font-size:12px;line-height:2;padding:0 12px 22px 0}.contact-section{padding:75px 6% 62px}.contact-section h2{font-size:28px}.contact-description{font-size:12px;margin-top:21px}.contact-number{font-size:31px;letter-spacing:1px;margin-top:27px}footer{padding:28px 6%;flex-wrap:wrap;gap:20px}footer .brand{font-size:16px}footer p{margin-left:auto}.back-top{width:100%;border-top:1px solid #222;padding-top:18px;text-align:right;font-size:10px}.photo-dialog figure{width:calc(100% - 24px);height:calc(100% - 160px)}.photo-dialog figcaption{font-size:10px;max-width:90%}.photo-prev,.photo-next{top:auto;bottom:18px;transform:none;width:42px;height:42px;font-size:27px}.photo-prev{left:24px}.photo-next{right:24px}.photo-count{bottom:27px}.contact-dialog{padding:45px 20px 18px}.contact-dialog h2{font-size:23px}.contact-dialog .contact-number{font-size:27px}.contact-dialog .button{padding:11px 22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.photo:hover img{transform:none}}

/* Match paired photographs without intrinsic-height feedback or frames. */
.moment-grid{align-items:start}.moment-grid figure{display:flex;flex-direction:column;min-height:0}.moment-grid .wide-shot .photo,.moment-grid .table-shot .photo,.moment-grid .stage-shot .photo,.moment-grid .solo-shot .photo{height:clamp(250px,30vw,440px);aspect-ratio:auto}.moment-grid .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.moment-grid figcaption{min-height:20px}.show-detail{border:0;margin:16px 0 0 auto;width:58%;aspect-ratio:4/3}.photo{border:0;border-radius:0;background:transparent}.photo img{border:0;border-radius:0}.show-media{min-width:0}.site-header .brand{font-size:13px;font-weight:400;letter-spacing:2px;color:#aaa}footer .brand{font-size:12px;font-weight:400;letter-spacing:1px;color:#aaa}@media(max-width:640px){.moment-grid .wide-shot .photo,.moment-grid .table-shot .photo,.moment-grid .stage-shot .photo,.moment-grid .solo-shot .photo{height:clamp(145px,35vw,225px);aspect-ratio:auto}.show-detail{border:0;margin:12px 0 0 auto;width:58%}.moment-grid figcaption{min-height:32px}.site-header .brand{font-size:11px;letter-spacing:1px}}
/* Restrained colour matching: compensate individual exposures inside each set. */
.show-media{--photo-tone:saturate(.84) contrast(.97) brightness(1.04)}
.theatre-media{--photo-tone:saturate(.82) contrast(.96) brightness(1.04)}
.moment-grid{--photo-tone:saturate(.85) contrast(.97) brightness(1.03)}
.photo img{filter:var(--photo-tone,none)}
.show-media [data-photo="6"]{--photo-tone:saturate(.76) contrast(.96) brightness(1.07)}
.theatre-media [data-photo="2"]{--photo-tone:saturate(.78) contrast(.96) brightness(1.08)}
.theatre-media [data-photo="4"]{--photo-tone:saturate(.78) contrast(.96) brightness(1.12)}
.moment-grid [data-photo="5"]{--photo-tone:saturate(.78) contrast(.95) brightness(1.12)}
.moment-grid [data-photo="9"]{--photo-tone:saturate(.79) contrast(.96) brightness(1.04)}
.moment-grid [data-photo="10"]{--photo-tone:saturate(.80) contrast(.96) brightness(1.05)}
.moment-grid [data-photo="11"]{--photo-tone:saturate(.79) contrast(.95) brightness(1.10)}
.moment-grid [data-photo="12"]{--photo-tone:saturate(.81) contrast(.96) brightness(1.04)}
.moment-grid [data-photo="1"],.moment-grid [data-photo="3"]{--photo-tone:saturate(.81) contrast(.96) brightness(1.04)}
.moment-grid [data-photo="7"]{--photo-tone:saturate(.80) contrast(.97) brightness(1.03)}
.photo-dialog figure img{filter:var(--viewer-tone,none)}
