.ticket-panel{padding:55px 7vw;background:#261016;border-block:1px solid #54212d}.ticket-panel h2{font-size:clamp(32px,4vw,58px)}.ticket-panel .hint,.archive-note{font-size:14px;color:#c9c1be}.production-cards .card img{aspect-ratio:3/4;object-fit:contain;background:#161616}.production-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6vw;align-items:start;margin:20px 0 60px}.production-poster{display:block;width:100%;height:auto;max-width:650px}.production-detail h2{font-size:32px}.archive-note{border-top:1px solid #555;padding-top:20px}@media(max-width:700px){.production-detail{grid-template-columns:1fr;gap:30px}.ticket-panel{padding:35px 6vw}}

.home .site-header{position:absolute;inset:0 0 auto;z-index:10;background:linear-gradient(#000b,transparent);border:0}
.hero.hero-dynamic{display:flex;position:relative;width:100%;height:100svh;min-height:640px;max-height:none;align-items:flex-end;background:#080808}
.hero-dynamic .hero-slides{position:absolute;inset:0;overflow:hidden;z-index:-2}
.hero-dynamic .hero-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.8s ease;pointer-events:none}
.hero-dynamic .hero-slide.is-active{opacity:1}
.hero-dynamic .hero-slide img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;transform:scale(1.08);animation:none}
.hero-dynamic .hero-slide.is-active img,.hero-dynamic .hero-slide.is-leaving img{animation:ken-burns 10s linear both}
.hero-dynamic .hero-slide:nth-child(even) img{animation-direction:reverse;transform-origin:65% 40%}
.hero-dynamic .hero-slide:nth-child(odd) img{transform-origin:35% 55%}
.hero-dynamic:after{display:block;background:linear-gradient(180deg,#0004 0%,transparent 30%,#0005 60%,#080808e8 100%)}
.hero-dynamic .hero-copy{position:relative;width:100%;padding:70px 6vw 55px}
.hero-dynamic h1{text-align:left;font-size:clamp(64px,8vw,130px);margin-bottom:30px}
.hero-dynamic .eyebrow{text-align:left}
.hero-dynamic .hero-bottom{display:flex}
@keyframes ken-burns{from{transform:scale(1.08) translate(-.6%,.4%)}to{transform:scale(1.22) translate(.6%,-.4%)}}
@media(max-width:700px){.hero.hero-dynamic{min-height:700px}.hero-dynamic .hero-copy{padding:35px 6vw}.hero-dynamic h1{font-size:clamp(56px,12vw,82px)}.hero-dynamic .hero-bottom{display:block}}
@media(prefers-reduced-motion:reduce){.hero-dynamic .hero-slide{transition:none}.hero-dynamic .hero-slide img{animation:none!important;transform:scale(1.08)}}

/* Subject-aware crops for the selected September photographs. */
.hero-dynamic .hero-slide img[src$="/DSC_5492.jpg"]{object-position:55% 30%}
.hero-dynamic .hero-slide img[src$="/DSC_5608.jpg"]{object-position:50% 30%}
.hero-dynamic .hero-slide img[src$="/DSC_5617.jpg"]{object-position:50% 35%}
.hero-dynamic .hero-slide img[src$="/hero-school-scene.jpg"]{object-position:50% 30%}
.hero-dynamic .hero-slide img[src$="/hero-stage-solo.jpg"]{object-position:50% 28%}
.hero-dynamic .hero-slide img[src$="/hero-embrace-enhanced.jpg"]{object-position:50% 60%}

/* Give the company tagline its own space beneath the headline. */
.hero-dynamic .hero-tagline{width:100%;max-width:1100px;margin:0 0 24px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(21px,2.15vw,32px);line-height:1.55;letter-spacing:.01em;white-space:pre-line;text-wrap:pretty;text-shadow:0 2px 12px #0009}
.hero-dynamic .hero-bottom{border-top:0;padding-top:0;display:block}
.hero-dynamic .hero-bottom .text-link{margin-top:0}
@media(max-width:700px){.hero-dynamic .hero-tagline{font-size:22px;line-height:1.45;margin-bottom:20px}.hero-dynamic h1{margin-bottom:20px}}

.company-photo img{aspect-ratio:auto;height:auto;object-fit:contain}

.team-section{margin-top:70px;padding-top:35px;border-top:1px solid var(--line)}
.team-section>h2{font-size:clamp(32px,4vw,54px);margin-bottom:36px}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
.team-card{min-width:0}
.team-portrait,.team-placeholder{display:block;width:100%;aspect-ratio:4/5;object-fit:contain;background:#20090e}
.team-placeholder{display:flex;align-items:center;justify-content:center;border:1px solid #642c38;color:#d8cbd0;font-size:16px}
.team-card h3{font-size:28px;margin:20px 0 8px}
.team-role{margin:0;color:#efb4bd;font-size:16px;line-height:1.5}
@media(max-width:850px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.team-grid{grid-template-columns:1fr}.team-section{margin-top:45px}.team-card h3{font-size:28px}}

.about-us{text-align:center}
.about-us .page-heading{margin-inline:auto}
.about-us .team-banner{margin-inline:auto}
.about-us .section>p{max-width:850px;margin-inline:auto}
.about-us .team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:40px 28px}
.about-us .team-card{flex:0 0 calc((100% - 56px)/3);text-align:center}
@media(max-width:850px){.about-us .team-card{flex-basis:calc((100% - 28px)/2)}}
@media(max-width:480px){.about-us .team-card{flex-basis:100%}}

.ticket-panel-with-logo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4vw}
.ticket-panel .ticket-copy{min-width:0}
.ticket-panel .box-office-logo{display:block;width:100%;max-width:650px;height:auto;object-fit:contain;justify-self:end}
@media(max-width:700px){.ticket-panel-with-logo{grid-template-columns:1fr;gap:28px}.ticket-panel .box-office-logo{max-width:480px;justify-self:center}}

/* Compact, centred management portraits at half their previous width and height. */
.about-us .team-portrait,.about-us .team-placeholder{width:50%;margin-inline:auto}
.about-us .team-role{white-space:pre-line}
.management-intro{max-width:850px;margin:65px auto 0}
.management-intro h2,.team-suggestions h2{font-size:clamp(28px,3vw,42px)}
.team-suggestions{max-width:850px;margin:70px auto 0;padding-top:32px;border-top:1px solid var(--line)}

/* Branded social links, with visible names and keyboard focus. */
footer .social-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-bottom:20px}
footer .social-links a{display:inline-flex;align-items:center;gap:10px;margin:0;padding:8px 0;text-decoration:none;min-height:44px}
footer .social-links a:hover span:first-of-type{text-decoration:underline;text-underline-offset:5px}
footer .social-links .social-icon{display:block;flex:0 0 28px;width:28px;height:28px;color:#fff}
