/* News and shared language controls; existing user styles remain in visual.css. */
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;margin-top:60px}.news-card{min-width:0;display:flex;flex-direction:column}.news-card figure{position:relative}.news-card figure>img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;object-position:center 70%}.news-card figcaption{font-size:10px;line-height:1.5;color:#808080;margin-top:10px}.news-card-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:25px 0 0}.news-kicker{font-size:11px;color:#6c6c6c;letter-spacing:.07em;margin-bottom:19px}.news-card h3{font-size:clamp(25px,2.5vw,36px);font-weight:400;line-height:1.5;letter-spacing:.015em}.news-description{font-size:15px;line-height:1.95;color:#5b5b5b;margin-top:21px;margin-bottom:28px;max-width:540px}.news-contact{font-size:13px;line-height:1.6;border-bottom:1px solid #333;padding:5px 0 9px;margin-top:auto}.news-contact:hover{opacity:.65}.official-qr-button{display:block;background:#fff;padding:8px;margin-top:18px;width:146px}.official-qr-button img{width:130px;height:130px}.language-switch{position:absolute;right:0;top:-24px;display:flex;align-items:center;gap:9px;font:11px/1.5 Arial,sans-serif;letter-spacing:0;z-index:6;color:#fff}.language-switch>button{font:inherit;min-height:28px;opacity:.65}.language-switch>button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:4px}.language-switch>span{opacity:.4}.language-switch button:focus-visible{outline-offset:2px}
html[lang=en] .header nav a{font-family:Arial,sans-serif;letter-spacing:.02em}html[lang=en] .header nav a>span{display:none}html[lang=en] .ticket h3{font-family:Arial,sans-serif;font-size:clamp(40px,5vw,72px);letter-spacing:-.025em}html[lang=en] .ticket-copy{max-width:75%}html[lang=en] .hero-title p{letter-spacing:.2em}html[lang=en] .news-card h3{letter-spacing:-.025em;font-family:Arial,sans-serif}html[lang=en] .about #about-title{font:400 clamp(38px,5vw,70px)/1.1 Arial,sans-serif!important;letter-spacing:-.03em}html[lang=en] .teams h3>span{display:none}html[lang=en] .special-thanks>p span{display:none}html[lang=en] .page-title>p{display:none}html[lang=en] .vision-sections h2>span{display:none}
@media(max-width:900px){.news-grid{gap:28px}.news-card h3{font-size:28px}.language-switch{top:-17px}.header .site-navigation{padding-top:12px}}
@media(max-width:700px){.language-switch{top:0;right:46px;gap:7px;font-size:10px}.header .site-navigation{padding-top:75px}.news-grid{grid-template-columns:1fr;gap:64px;margin-top:42px}.news-card-copy{padding-top:20px}.news-card h3{font-size:27px}.news-description{font-size:14px;margin-top:18px}.news-kicker{margin-bottom:13px}.news-contact{font-size:12px}.news-card figcaption{font-size:9px}html[lang=en] .ticket h3{font-size:35px}html[lang=en] .ticket[data-work="3"] h3{font-size:30px}html[lang=en] .ticket-copy{max-width:none}html[lang=en] .page-title h1{font-size:38px}html[lang=en] .header nav a{font-size:16px}}

.social-accounts{display:grid;gap:20px}.social-account{display:flex;align-items:center;gap:15px;text-align:left;width:100%}.social-account img{width:76px;height:76px;object-fit:contain;background:#fff;flex-shrink:0}.social-account>span{font-size:13px;line-height:1.6;color:#ddd}.social-account small{display:block;font-size:10px;color:#999;margin-top:8px}.social-account:hover>span{color:#fff}.social-account:hover small{text-decoration:underline;text-underline-offset:4px}#news-seventh figure>img{object-fit:contain;background:#000;object-position:center}

/* Large, continuous curtain-call photographs, shared by every page. */
.curtain-calls{position:relative;padding:0;background:#101010;overflow:hidden}.curtain-strip{display:block;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-behavior:auto}.curtain-strip::-webkit-scrollbar{display:none}.curtain-track,.curtain-group{display:flex;width:max-content}.curtain-group{gap:4px;padding-right:4px;flex-shrink:0}.curtain-item{display:block;position:relative;flex:0 0 auto;width:clamp(380px,44vw,760px);overflow:hidden;background:#101010}.curtain-item img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.curtain-item>span{position:absolute;left:0;right:0;bottom:0;padding:45px 24px 22px;background:linear-gradient(transparent,#000b);color:white;font-size:14px;line-height:1.5}.curtain-item:hover>span{text-decoration:underline;text-underline-offset:4px}.curtain-control{position:absolute;right:18px;top:18px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;color:white;background:#0007;font:16px/1 Arial,sans-serif;z-index:1}.curtain-control:hover{background:#000b}.curtain-strip:focus-visible{outline:2px solid white;outline-offset:-3px}
@media(max-width:700px){.curtain-item{width:88vw}.curtain-item>span{font-size:12px;padding:30px 18px 16px}.curtain-control{top:12px;right:12px;width:34px;height:34px}}

/* The homepage identity continues through every subpage. */
.page-marquee{padding:42px 0 60px}.page-marquee .marquee-track>span{flex-shrink:0}.contact-email{display:block;width:fit-content;max-width:100%;margin-top:14px;font:13px/1.8 Arial,sans-serif;color:#636363;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.contact-email:hover{color:#111}#qr-email{display:block;margin:0 auto 20px;max-width:100%;font:13px/1.7 Arial,sans-serif;color:#555;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}#qr-email[hidden]{display:none}
@media(max-width:700px){.page-marquee{padding:24px 0 48px}.contact-email{font-size:12px}}

/* Shared typography from the user's saved homepage marquee. */
.marquee-track>span:nth-child(odd){font-family:Georgia,serif;letter-spacing:13px;font-size:75px}
.marquee-track>span:nth-child(even){font-family:Georgia,serif;letter-spacing:13px;font-size:75px;font-weight:300}
html[lang=en] .person-name{overflow-wrap:normal;word-break:normal;line-height:1.35}
html[lang=en] .credit-row dd span{overflow-wrap:normal;word-break:normal}

/* Persistent navigation and quieter text-only news. */
body .header{position:fixed;top:0;left:0;right:0;z-index:40;padding:28px var(--edge) 10px;background:rgba(12,12,12,.94);color:#fff;box-sizing:border-box;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body .header .site-navigation{gap:clamp(15px,3vw,44px);padding-top:0}
body .header .language-switch{top:4px;right:var(--edge)}
html{scroll-padding-top:110px}
.news-card-copy{padding-top:0}.news-grid{column-gap:clamp(40px,7vw,110px)}
.company-address{font-size:12px;font-weight:400;line-height:1.9;color:#aaa;max-width:920px;margin:0;padding:0 0 30px;font-style:normal}
@media(max-width:900px) and (min-width:701px){body .header{padding-left:24px;padding-right:24px}body .header .site-navigation{gap:17px;font-size:12px}}
@media(max-width:700px){body .header{height:66px;padding:18px 24px}body .header .language-switch{top:19px;right:68px}body .header .site-navigation{top:66px;left:0;right:0;padding:12px 24px 24px;max-height:calc(100svh - 66px)}body .header .site-navigation.open{gap:0}.company-address{font-size:11px;padding-bottom:24px}html{scroll-padding-top:82px}}

/* Compact social links; no QR thumbnails in the footer. */
.social-accounts{gap:0}.social-link{display:flex;justify-content:space-between;align-items:center;gap:28px;width:100%;min-height:48px;padding:12px 0;border:0;border-bottom:1px solid #444;background:none;color:#ddd;text-align:left;text-decoration:none;font:inherit;font-size:13px;cursor:pointer}.social-link:hover,.social-link:focus-visible{color:#fff;border-bottom-color:#ddd}.social-link:focus-visible{outline:2px solid #ddd;outline-offset:4px}

/* Keep navigation outside the hero's isolated stacking context. */
body>.header{z-index:1000;isolation:isolate}
.skip{z-index:1001}
.social-accounts.social-icons{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.social-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:4px;border:0;background:none;cursor:pointer;opacity:.88;transition:opacity .15s ease,transform .15s ease}
.social-icon img{display:block;width:36px;height:36px;object-fit:contain}
.social-icon-wechat img{width:31px;height:31px;mix-blend-mode:screen}
.social-icon:hover,.social-icon:focus-visible{opacity:1;transform:translateY(-2px)}
.social-icon:focus-visible{outline:2px solid #fff;outline-offset:4px}
#qr-dialog{width:min(340px,92vw);padding:56px 22px 24px;max-height:88svh;overflow:auto}
#qr-dialog h2{font-size:19px;margin-bottom:14px}
#qr-dialog>img{max-width:100%;max-height:min(240px,38svh);width:auto;height:auto;object-fit:contain}
#qr-dialog>p{font-size:12px;margin-top:14px}
#qr-download{font-size:12px;padding:9px 14px;margin-top:14px}
@media(max-width:700px){.social-accounts.social-icons{gap:16px}}
