:root{--paper:#e6f3fa;--ink:#161615;--line:#d6d4ce;--muted:#77746e;--pink:#e586ae;--sky:#bbd6de}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.site-header{height:68px;border-bottom:1px solid var(--ink);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:0 clamp(15px,3vw,48px);background:var(--paper);position:sticky;top:0;z-index:100}.page-nav{display:flex;gap:clamp(12px,2vw,32px);white-space:nowrap}.page-nav a,.eyebrow,.socials,.site-footer,.section-index,.tiny{font-family:Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em}.page-nav a{font-family:Menlo,Monaco,"Courier New",monospace;font-size:11px;font-weight:700;letter-spacing:.09em}.page-nav a:hover,.page-nav a:focus-visible{color:#ce5c84}.brand{font-size:clamp(18px,2vw,30px);font-weight:900;letter-spacing:.09em;white-space:nowrap}.brand span{color:var(--pink);margin-left:3px}.socials{display:flex;gap:13px;justify-content:flex-end}.social-icon{display:grid;place-items:center;width:24px;height:24px;opacity:.45;cursor:help}.social-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:22px clamp(20px,4vw,58px);border-top:1px solid var(--line);color:var(--muted)}.page-shell{width:min(100%,1240px);padding:0 clamp(20px,4vw,58px);margin:auto}.eyebrow{display:block;color:var(--muted);margin-bottom:20px}.page-title{font-size:clamp(44px,7vw,104px);line-height:1;letter-spacing:-.07em;margin:0 0 24px;font-weight:800}.page-intro{font-size:clamp(15px,1.7vw,19px);line-height:1.8;color:#494843;max-width:700px}.thin-rule{height:1px;background:var(--line);width:100%;margin:28px 0}.about-page{scroll-snap-type:y proximity}.about-panel{min-height:calc(100svh - 68px);scroll-snap-align:start;display:grid;align-content:center;padding-top:70px;padding-bottom:70px}.about-first{grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:10vw}.about-first .page-title{font-size:clamp(48px,8vw,120px)}.about-text{align-self:end;padding-bottom:15px}.about-text p{font-size:17px;line-height:2.1;max-width:480px}.about-art{width:100%;aspect-ratio:4/3;border:1px solid var(--ink);background:linear-gradient(35deg,#c5d5d9 0 45%,#e8b8c9 45% 55%,#eee9d9 55%);display:grid;place-items:center;position:relative;overflow:hidden}.about-art:after{content:'B B P';letter-spacing:.6em;position:absolute;font-size:11px;bottom:15px}.about-art span{font-size:clamp(60px,10vw,160px);font-weight:900;color:#fff8;transform:rotate(-20deg)}.scroll-hint{font-size:11px;letter-spacing:.18em;color:var(--muted);margin-top:25px}.members-panel{border-top:1px solid var(--ink);align-content:start}.members-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.members-heading h2{font-size:clamp(40px,6vw,78px);letter-spacing:-.07em;margin:0}.member-placeholder{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.member-card{border-top:1px solid var(--ink);padding-top:15px}.member-photo{aspect-ratio:3/4;background:#e5e3df;display:grid;place-items:center;color:#96928d;font-size:13px;letter-spacing:.15em;border:1px solid #d4d0cb}.member-card h3{font-size:17px;margin:15px 0 4px}.member-card p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.subpage{min-height:calc(100svh - 115px);padding-top:clamp(55px,8vw,120px);padding-bottom:100px}.entries{margin-top:70px;max-width:900px}.entry{display:grid;grid-template-columns:150px 1fr;gap:28px;border-top:1px solid var(--ink);padding:25px 0}.entry-date{font:11px Arial,sans-serif;letter-spacing:.12em;color:var(--muted)}.entry h2{font-size:22px;margin:0 0 14px}.entry p{font-size:15px;line-height:1.85;white-space:pre-wrap;margin:0}.empty-state{border-top:1px solid var(--ink);padding-top:28px;color:var(--muted);font-size:15px}.editor{margin-top:65px;border:1px solid var(--line);padding:28px;max-width:700px;background:#fff}.editor h2{font-size:18px;margin:0 0 20px}.editor label{display:block;font-size:12px;margin-top:14px}.editor input,.editor textarea,.editor select{display:block;width:100%;border:1px solid #bbb;background:#fff;padding:12px;margin-top:7px}.editor textarea{min-height:150px;resize:vertical}.editor button{background:var(--ink);color:#fff;border:0;padding:12px 26px;margin-top:18px}.editor-note{color:var(--muted);font-size:12px}.shows-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px;margin-top:70px}.show-block h2{font-size:23px;margin:0 0 22px}.show-card{display:grid;grid-template-columns:minmax(130px,.68fr) 1fr;gap:25px;border-top:1px solid var(--ink);padding-top:22px}.show-poster{aspect-ratio:3/4;background:repeating-linear-gradient(-25deg,#d2e1e2,#d2e1e2 18px,#dce8e9 18px,#dce8e9 36px);border:1px solid #c1c9c9;display:grid;place-items:center;color:#5a6c70;font-size:12px;text-align:center;padding:20px}.show-card p{color:var(--muted);font-size:14px;line-height:1.8}.contact-list{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--ink);max-width:820px;margin-top:60px}.contact-list dt,.contact-list dd{margin:0;padding:22px 0;border-bottom:1px solid var(--line)}.contact-list dt{font:11px Arial,sans-serif;letter-spacing:.16em}.contact-list dd{color:var(--muted);font-size:15px}.contact-note{font-size:13px;color:var(--muted);margin-top:35px}@media(max-width:1100px){.site-header{grid-template-columns:1fr auto;gap:5px;height:auto;min-height:70px;padding:12px 18px}.brand{grid-column:1;grid-row:1}.socials{grid-column:2;grid-row:1}.page-nav{grid-column:1/-1;grid-row:2;overflow-x:auto;gap:22px;padding:10px 0 2px}.about-first{grid-template-columns:1fr;gap:30px}.about-art{max-width:550px}.about-text{padding:0}.member-placeholder{gap:12px}}@media(max-width:600px){.site-header{min-height:84px}.page-nav a{font-size:10px}.socials{gap:5px}.social-icon{width:20px}.social-icon svg{width:18px}.brand{font-size:19px}.about-panel{min-height:calc(100svh - 95px)}.member-placeholder{grid-template-columns:1fr 1fr}.member-card:last-child{display:none}.member-photo{font-size:10px}.members-heading{margin-bottom:25px}.entry{grid-template-columns:1fr;gap:8px}.shows-grid{grid-template-columns:1fr;gap:65px}.show-card{grid-template-columns:1fr 1fr;gap:14px}.contact-list{grid-template-columns:110px 1fr}.site-footer{font-size:9px}.page-shell{padding-inline:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.home-immersive{position:relative;height:calc(100svh - 68px);min-height:520px;overflow:hidden;background:#1c2028}
.home-slides,.home-slide,.home-slide-blur,.home-slide-photo{position:absolute;inset:0;width:100%;height:100%}
.home-slide{opacity:0;transition:opacity 1.25s ease-in-out}
.home-slide.is-active{opacity:1}
.home-slide-blur{object-fit:cover;filter:blur(26px) brightness(.8);transform:scale(1.08)}
.home-slide-photo{object-fit:cover}
.hero-corner-mark{position:absolute;z-index:2;top:clamp(18px,3vw,44px);left:clamp(18px,3vw,44px);width:110px;height:110px;overflow:hidden;pointer-events:none}
.hero-corner-mark img{position:absolute;left:-40%;top:-40%;width:180%;height:180%;max-width:none;filter:drop-shadow(0 2px 8px rgba(0,0,0,.65))}
.about-photo-panel,.about-gallery-panel{display:flex;flex-direction:column;justify-content:center;gap:24px}
.about-photo-panel .page-title{font-size:clamp(40px,7vw,98px);margin:0}
.about-photo-panel>img{display:block;width:100%;height:min(65svh,720px);object-fit:cover;object-position:center 42%;border:1px solid var(--ink)}
.about-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.about-gallery img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}
.show-card{display:block}.show-poster{width:min(100%,260px)}
@media(max-width:1100px){.home-immersive{height:calc(100svh - 84px)}}
@media(max-width:600px){.hero-corner-mark{width:80px;height:80px;top:18px;left:18px}.home-slide-photo{object-fit:contain}.about-photo-panel>img{height:auto;aspect-ratio:3/2;object-fit:contain}.about-gallery{grid-template-columns:1fr;gap:16px}.about-gallery img{aspect-ratio:3/2}}
@media(prefers-reduced-motion:reduce){.home-slide{transition:none}}

.about-profile-panel{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(34px,5vw,76px);padding-block:clamp(48px,6vw,84px)}
.about-profile-copy{min-width:0}
.about-profile-name{font-size:clamp(34px,4vw,58px);line-height:1.12;letter-spacing:-.055em;margin:0;font-weight:800}
.about-profile-name span{display:block}
.about-profile-name span:last-child{font-size:clamp(24px,2.7vw,38px);letter-spacing:-.04em;margin-top:5px}
.about-origin{font-size:17px;margin:25px 0 30px}
.about-creature{margin:0;padding:14px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:13px;line-height:1.5;letter-spacing:.035em}
.about-stats{margin-top:14px}
.about-stats p{display:grid;grid-template-columns:98px minmax(0,1fr);gap:8px;margin:0;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.55}
.about-stats strong,.about-roster strong{font-weight:700}
.about-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;margin-top:25px}
.about-roster p{display:flex;gap:5px;margin:0;font-size:14px;line-height:1.5}
.about-profile-photo{margin:0;min-width:0}
.about-profile-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--ink)}
@media(max-width:850px){.about-profile-panel{grid-template-columns:1fr;gap:34px}.about-profile-photo{max-width:680px}.about-profile-copy{max-width:650px}}
@media(max-width:600px){.about-profile-panel{padding-block:42px 60px;gap:30px}.about-profile-name{font-size:36px}.about-profile-name span:last-child{font-size:27px}.about-origin{margin:22px 0 27px;font-size:16px}.about-stats p{grid-template-columns:90px minmax(0,1fr);font-size:13px}.about-roster p{font-size:13px}}

.shows-page{scroll-snap-type:y proximity}
.shows-section{min-height:calc(100svh - 68px);scroll-snap-align:start;padding-block:clamp(48px,6vw,82px)}
.shows-heading{font-size:clamp(34px,5vw,64px);line-height:1.1;letter-spacing:-.055em;margin:0;font-weight:800}
.shows-current-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,85px);margin-top:clamp(28px,4vw,50px)}
.shows-current-poster{width:min(100%,440px);aspect-ratio:3/4;border:1px solid var(--ink);background:#e0edf4}
.shows-current-info{min-height:180px;border-top:1px solid var(--ink)}
.shows-archive{border-top:1px solid var(--ink)}
.shows-poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2vw,24px);margin-top:clamp(28px,4vw,50px)}
.shows-poster-item{margin:0;min-width:0}
.shows-poster-item img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;object-position:center top;background:#e0edf4;border:1px solid var(--ink)}
@media(max-width:900px){.shows-poster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.shows-section{min-height:calc(100svh - 95px);padding-block:42px 64px}.shows-current-layout{grid-template-columns:1fr;gap:30px}.shows-current-poster{width:min(100%,420px)}.shows-current-info{min-height:120px}.shows-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

.shows-current-poster{display:block;height:auto;aspect-ratio:128/181;object-fit:contain;background:none}
.shows-current-info p{max-width:540px;margin:22px 0 0;font-size:clamp(16px,1.6vw,20px);line-height:1.9;letter-spacing:.02em}

.about-profile-copy{background:#fffdfa;color:#681b28;padding:clamp(22px,2.8vw,38px);font-family:Georgia,"Songti SC","STSong",serif}
.about-profile-name{font-size:clamp(27px,2.8vw,38px);line-height:1.2;letter-spacing:0;font-weight:700}
.about-profile-name span{display:inline}
.about-profile-name span:last-child{font-size:.85em;letter-spacing:0;margin:0 0 0 .22em}
.about-origin{font-size:15px;font-style:italic;margin:6px 0 0;color:#26211e}
.about-creature{font-size:14px;font-style:italic;letter-spacing:0;line-height:1.55;margin:0 0 12px;padding:0;border:0;color:#26211e}
.about-stats{border-top:6px solid #681b28;margin-top:0;padding-top:13px}
.about-stats p{grid-template-columns:94px minmax(0,1fr);gap:0;border:0;padding:3px 0;font-size:15px;line-height:1.5}
.about-stats p:nth-child(3){border-top:4px solid #681b28;margin-top:13px;padding-top:13px}
.about-roster{border-top:4px solid #681b28;margin-top:13px;padding-top:15px;gap:7px 16px}
.about-roster p{font-size:15px;line-height:1.5;color:#26211e}
.about-roster strong{color:#681b28}
@media(max-width:600px){.about-profile-copy{padding:23px}.about-profile-name{font-size:28px}.about-profile-name span:last-child{font-size:.78em}.about-origin{font-size:14px;margin:6px 0 0}.about-creature{font-size:13px;margin-bottom:12px}.about-stats p{grid-template-columns:82px minmax(0,1fr);font-size:13px}.about-roster p{font-size:13px}.shows-current-info p{margin-top:16px;font-size:16px;line-height:1.8}}

/* Balanced spacing for the two image-and-text introductions. */
.about-profile-panel,.shows-current-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(32px,5vw,64px)}
.about-profile-panel{padding-block:64px}
.about-profile-copy{background:transparent;padding:0;max-width:480px}
.about-profile-photo{width:100%;max-width:440px;justify-self:end}
.about-profile-name{font-size:clamp(28px,2.7vw,36px);line-height:1.3}
.about-origin{margin-top:12px;line-height:1.7}
.about-creature{margin-bottom:18px;line-height:1.7}
.about-stats{padding-top:16px}
.about-stats p{padding-block:5px;line-height:1.65}
.about-stats p:nth-child(3){margin-top:16px;padding-top:16px}
.about-roster{margin-top:16px;padding-top:18px;gap:10px 24px}
.shows-current{padding-block:64px}
.shows-current-layout{margin-top:36px}
.shows-current-poster{width:100%;max-width:440px}
.shows-current-info{min-height:0;max-width:480px;padding-top:24px;justify-self:end;width:100%}
.shows-current-info p{margin:0;font-size:18px;line-height:1.9;letter-spacing:0}
.shows-current-info p+p{margin-top:20px}
@media(max-width:850px){.about-profile-panel,.shows-current-layout{grid-template-columns:1fr;gap:32px}.about-profile-copy,.shows-current-info{max-width:none}.about-profile-photo{justify-self:start;max-width:540px}.shows-current-poster{max-width:440px}.shows-current-info{justify-self:start}}
@media(max-width:600px){.about-profile-panel,.shows-current{padding-block:40px 52px}.about-profile-copy{padding:0}.about-profile-name{font-size:28px}.about-stats p,.about-roster p{font-size:14px}.about-stats p{grid-template-columns:88px minmax(0,1fr)}.about-roster{gap:10px 16px}.shows-current-layout{margin-top:28px;gap:28px}.shows-current-info{padding-top:20px}.shows-current-info p{font-size:16px;line-height:1.85}.shows-current-info p+p{margin-top:16px}}
@media(min-width:851px){.about-profile-panel,.shows-current{width:min(100%,1120px)}.about-profile-copy,.about-profile-photo,.shows-current-poster,.shows-current-info{max-width:none;justify-self:stretch}}

.about-profile-panel{padding-top:32px;align-content:start;align-items:start}
.shows-current{padding-top:32px}
.shows-current-layout{margin-top:28px}
@media(max-width:600px){.about-profile-panel,.shows-current{padding-top:24px}.shows-current-layout{margin-top:24px}}

/* Keep the current show inside the available screen height. */
.shows-current{--shows-header:68px;height:calc(100svh - var(--shows-header));min-height:0;padding-block:24px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:20px}
.shows-current>.shows-heading{font-size:clamp(32px,3.8vw,48px)}
.shows-current-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);height:100%;min-height:0;margin:0;gap:clamp(24px,4vw,56px)}
.shows-current-poster{width:auto;height:100%;max-width:100%;max-height:560px;min-height:0;justify-self:center;object-fit:contain;border:0}
.shows-current-info{padding-top:20px}
.shows-current-info p{font-size:17px;line-height:1.8}
.shows-current-info p+p{margin-top:16px}
@media(max-width:1100px){.shows-current{--shows-header:84px}}
@media(max-width:700px){.shows-current{height:auto;min-height:calc(100svh - 84px);padding-block:20px 24px;gap:16px;grid-template-rows:auto auto}.shows-current>.shows-heading{font-size:30px}.shows-current-layout{grid-template-columns:1fr;height:auto;gap:16px}.shows-current-poster{height:auto;max-height:clamp(160px,calc(100svh - 420px),340px);max-width:100%}.shows-current-info{padding-top:12px}.shows-current-info p{font-size:14px;line-height:1.65}.shows-current-info p+p{margin-top:10px}}
@media(min-width:701px) and (max-height:520px){.shows-current{height:auto;min-height:calc(100svh - var(--shows-header))}.shows-current-layout{height:auto}.shows-current-poster{height:auto;max-height:280px}}

.shows-current-info{border-top:0;padding-top:0}
.shows-event-title{margin:0 0 20px;font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1.2;letter-spacing:.04em}
.shows-current-description{border-top:1px solid var(--ink);padding-top:20px}
@media(max-width:700px){.shows-event-title{font-size:26px;margin-bottom:12px}.shows-current-description{padding-top:12px}.shows-current-poster{max-height:clamp(140px,calc(100svh - 480px),300px)}}
.shows-current-info{align-self:start;padding-top:16px}
@media(max-width:700px){.shows-current-info{padding-top:0}}

/* Platform links */
.social-icon{width:40px;height:40px;opacity:.75;cursor:pointer;transition:opacity .15s}
.social-icon img{display:block;width:32px;height:32px}
.social-xiaohongshu img{width:40px;height:40px}
.social-icon:hover,.social-icon:focus-visible{opacity:1}
.social-icon:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.contact-social-row{display:contents}
.contact-list a:hover,.contact-list a:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.socials{gap:2px}.social-icon{width:36px;height:40px}.social-icon img{width:28px;height:28px}.social-xiaohongshu img{width:36px;height:36px}}
