@font-face{font-family:Rubik;src:url("assets/Rubik-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url("assets/Rubik-Bold.ttf") format("truetype");font-style:normal;font-weight:600 900;font-display:swap}
:root{color-scheme:light;--paper:#f5f0e7;--ink:#171714;--red:#a42b24;--gold:#d3b670;--muted:#605d55;--rule:#c8bfb0;--body:Rubik,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--display:Georgia,"Times New Roman",serif;--gutter:clamp(20px,5vw,64px);--measure:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;font-weight:400;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-wrap:break-word}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--red)}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:focus-visible{outline:3px solid var(--red);outline-offset:5px}::selection{color:var(--paper);background:var(--red)}[hidden]{display:none!important}h1,h2,h3,p,figure,dl{margin:0}ul,ol{margin:0;padding:0}li,dt,dd{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}p+p{margin-top:1em}
.skip-link{position:fixed;top:12px;left:var(--gutter);z-index:100;transform:translateY(-180%);padding:12px 18px;color:var(--paper);background:var(--ink)}.skip-link:focus{transform:translateY(0)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:22px var(--gutter) 18px;border-bottom:1px solid var(--rule);line-height:1.35}.brand{color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.075em;text-transform:uppercase;text-decoration:none}.edition{color:var(--muted);font-size:11px;letter-spacing:.045em;text-align:right;text-transform:uppercase}
.hero{display:grid;gap:34px;max-width:calc(var(--measure) + 2 * var(--gutter));margin:0 auto;padding:30px var(--gutter) 42px}.hero-art{width:100%;max-width:430px;margin-inline:auto}.hero-art img{width:100%;height:auto;object-fit:contain}.hero-copy{max-width:590px}.eyebrow{color:var(--red);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}.presents{font-size:12px;color:var(--muted);margin-top:8px}.hero-copy h1{margin-top:12px;font-family:var(--display);font-size:clamp(48px,10.8vw,86px);font-weight:400;line-height:.98;letter-spacing:-.045em}.hero-copy h1 small{display:block;margin-top:13px;font-family:var(--body);font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}.byline{margin-top:25px;font-size:15px;line-height:1.7}.hero-meta{display:flex;flex-wrap:wrap;gap:7px 24px;margin-top:25px;padding-top:19px;border-top:1px solid var(--rule);color:var(--muted);font-size:13px;line-height:1.65}.hero-meta p,.hero-meta span{margin:0}.intro-link{display:inline-flex;align-items:center;gap:16px;min-height:48px;margin-top:27px;padding-bottom:3px;border-bottom:1px solid var(--red);color:var(--red);font-size:14px;font-weight:600;text-decoration:none}.intro-link:hover{border-color:var(--ink);color:var(--ink)}
.section-nav{position:sticky;top:0;z-index:30;min-height:59px;padding:0 var(--gutter);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);background:var(--paper);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--rule) var(--paper)}.section-nav>div{display:flex;align-items:center;gap:25px;max-width:var(--measure);margin:auto;width:max-content;min-width:100%}.section-nav a{display:inline-flex;flex:0 0 auto;align-items:center;min-height:56px;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.03em;white-space:nowrap;text-decoration:none}.section-nav a:hover{color:var(--red)}.section-nav a[aria-current="location"]{color:var(--red);box-shadow:inset 0 -3px 0 var(--red)}.section-nav a:focus-visible{outline-offset:-5px}.section-nav::-webkit-scrollbar{height:4px}.section-nav::-webkit-scrollbar-thumb{background:var(--rule)}
main{max-width:calc(var(--measure) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}.program-section{padding-block:52px 60px;scroll-margin-top:74px;border-bottom:1px solid var(--rule)}.section-heading{margin-bottom:30px}.section-heading h2{margin-top:9px;font-family:var(--display);font-size:clamp(36px,7.2vw,56px);font-weight:400;line-height:1.1;letter-spacing:-.035em}.section-count{display:block;margin-top:13px;color:var(--muted);font-size:12px}
.show-grid{display:grid;gap:32px}.synopsis{max-width:620px;font-size:17px;line-height:1.75}.show-grid h3,.subheading{margin-bottom:13px;color:var(--red);font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.09em;text-transform:uppercase}.subheading{margin-top:36px}.performance-list{list-style:none}.performance-list li{padding:11px 0;border-bottom:1px solid var(--rule);font-size:15px}.performance-list li:first-child{padding-top:0}.venue{margin-top:22px;color:var(--muted);font-size:14px;line-height:1.65}
.team-grid{display:grid;gap:0 36px;margin-top:20px}.credit-row{padding-block:12px;border-top:1px solid var(--rule);break-inside:avoid}.credit-row dt{color:var(--muted);font-size:12px;line-height:1.6}.credit-row dd{margin-top:3px;font-size:15px;font-weight:600;line-height:1.6}.credit-row dd+dd{margin-top:0}
.cast-grid{display:grid;gap:35px 48px}.cast-block h3,.cast-block h4{margin-bottom:14px;font-family:var(--display);font-size:25px;font-weight:400;line-height:1.3;letter-spacing:-.015em}.role-list{border-top:1px solid var(--ink)}.role-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:15px;padding-block:12px;border-bottom:1px solid var(--rule);font-size:15px;line-height:1.6}.role-row dt{color:var(--muted)}.role-row dd{font-weight:600;text-align:right}.team-grid .role-row,.credits-grid .role-row{display:block;border-bottom:0}.team-grid .role-row dd,.credits-grid .role-row dd{text-align:left}.name-list{list-style:none;columns:2;column-gap:24px}.name-list li{padding:5px 0;font-size:15px;break-inside:avoid}.crew-roster{margin-top:36px;padding-top:28px;border-top:1px solid var(--rule)}.roster-heading{margin-bottom:26px;font-family:var(--display);font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-.025em}
.company-tools{margin-bottom:30px}.company-tools label{display:block;margin-bottom:9px;font-size:13px;font-weight:600}.search-row{display:flex;gap:10px;max-width:460px}#company-search{display:block;flex:1;min-width:0;width:100%;min-height:49px;padding:11px 14px;border:1px solid #8e8679;border-radius:0;background:transparent;color:var(--ink);font-size:16px;line-height:1.5;appearance:none}#company-search::placeholder{color:#726d63;opacity:1}#company-search:focus{border-color:var(--red)}#clear-search{min-height:49px;padding:10px 14px;border:1px solid var(--rule);background:transparent;color:var(--red)}#search-count{min-height:22px;margin-top:8px;color:var(--muted);font-size:12px}
.company-grid{display:grid;gap:31px 46px}.person{min-width:0;padding-top:23px;border-top:1px solid var(--rule)}.person-header{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:19px}.person-header>img{width:88px;height:auto;object-fit:contain;background:#e6ded1}.person-header-no-photo{display:flex;min-height:132px}.person-name{min-width:0}.person-name h3{font-family:var(--display);font-size:25px;font-weight:400;line-height:1.12;letter-spacing:-.025em}.person-role{margin-top:9px;color:var(--red);font-size:12px;font-weight:600;line-height:1.55}.biography{margin-top:18px;font-size:16px;line-height:1.75}.biography:empty{display:none}.no-results{padding-block:25px;color:var(--muted)}
.chorus-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.chorus-grid figure{min-width:0}.chorus-grid img{width:100%;height:auto;object-fit:contain;background:#e6ded1}.chorus-order{margin-top:16px;color:var(--muted);font-size:12px}.chorus-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 26px;margin:22px 0 0;padding-left:21px;font-size:13px;line-height:1.6}.chorus-names li{padding-left:3px}
.supporter-tier+.supporter-tier{margin-top:43px}.supporter-tier h3{display:flex;align-items:center;gap:15px;margin-bottom:21px;color:var(--red);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}.supporter-tier h3::after{content:"";flex:1;height:1px;background:var(--rule)}.ad-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:29px}.ad-card{min-width:0;margin:0}.ad-card figure{margin:0}.ad-card img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:white}.ad-card figcaption{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5}.ad-card figcaption strong{display:block;color:var(--ink);font-size:14px}.ad-card figcaption span{display:block;margin-top:4px}.ad-card a{display:block;text-decoration:none}.ad-card a:hover{color:var(--red);text-decoration:underline}.ad-card .fullsize-link{display:inline-flex;gap:5px;align-items:center;min-height:44px;color:var(--red)}.fullsize-link span{display:inline;margin:0}
.credits-grid{display:grid;gap:0 36px}.licensing{margin-top:32px;max-width:740px;color:var(--muted);font-size:14px;line-height:1.8}.program-footer{max-width:calc(var(--measure) + 2 * var(--gutter));margin-inline:auto;padding:32px var(--gutter) 90px;color:var(--muted);font-size:12px;line-height:1.8}.program-footer p{max-width:730px}.program-footer>div{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin-top:16px}.program-footer>div>a{display:inline-flex;align-items:center;min-height:46px;color:var(--red);font-size:13px}.back-top{position:fixed;z-index:20;right:16px;bottom:max(16px,env(safe-area-inset-bottom));display:inline-flex;justify-content:center;align-items:center;min-width:46px;min-height:46px;padding:10px 13px;border:1px solid var(--ink);border-radius:0;color:var(--paper);background:var(--ink);font-size:20px;line-height:1;text-decoration:none}.back-top:hover{color:var(--paper);background:var(--red);border-color:var(--red)}
@media(min-width:600px){.topbar{padding-block:26px 22px}.brand{font-size:14px}.edition{font-size:12px}.hero{gap:40px;padding-block:44px 54px}.hero-copy{margin-inline:auto;width:100%}.hero-copy h1{font-size:76px}.section-nav>div{justify-content:center;gap:32px}.section-nav a{font-size:13px}.program-section{padding-block:64px 74px}.section-heading{margin-bottom:37px}.show-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px}.team-grid,.credits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.person-header{grid-template-columns:104px minmax(0,1fr);gap:22px}.person-header>img{width:104px;height:auto}.person-header-no-photo{min-height:156px}.person-name h3{font-size:28px}.chorus-grid{gap:12px}.chorus-names{grid-template-columns:repeat(3,minmax(0,1fr));font-size:14px;gap:8px 30px}.ad-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:32px}.ad-card{grid-column:span 3}.ad-card[data-tier="gold"]{grid-column:1/-1;max-width:780px;width:100%;margin-inline:auto}.ad-card[data-tier="silver"]{grid-column:span 3}.ad-card[data-tier="bronze"],.ad-card[data-tier="donor"]{grid-column:span 2}.program-footer{padding-top:39px}}
@media(min-width:850px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:70px;padding-block:54px 64px}.hero-art{max-width:430px;margin:0}.hero-copy{margin:0}.hero-copy h1{font-size:clamp(64px,7vw,86px)}.hero-copy h1 small{font-size:14px}.byline{margin-top:29px}.hero-meta{margin-top:32px}.section-nav>div{gap:43px}.program-section{padding-block:76px 85px}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:25px}.section-heading .section-count{margin:0 0 5px;text-align:right}.show-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:80px}.synopsis{font-size:19px}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.credit-row{padding-block:15px}.company-tools{display:grid;grid-template-columns:minmax(0,460px) 1fr;align-items:end;column-gap:26px}.company-tools label{grid-column:1/-1}#search-count{margin:0 0 11px}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:39px 54px}.person{padding-top:26px}.person-header{gap:22px}.person-name h3{font-size:27px}.biography{margin-top:20px}.chorus-grid{gap:19px}.chorus-names{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:28px;font-size:13px;gap:11px 28px}.supporter-tier+.supporter-tier{margin-top:56px}.ad-grid{gap:34px 40px}.credits-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.back-top{right:24px;bottom:24px}}
@media(max-width:359px){.topbar{gap:12px}.brand{font-size:11px}.edition{max-width:98px;font-size:10px}.section-nav>div{gap:22px}.hero-copy h1{font-size:46px}.person-header{grid-template-columns:78px minmax(0,1fr);gap:15px}.person-header>img{width:78px;height:auto}.person-header-no-photo{min-height:117px}.person-name h3{font-size:23px}.chorus-grid{gap:4px}.chorus-names{column-gap:21px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
@media print{html{scroll-padding-top:0}body{background:#fff;color:#000;font-size:11pt}.topbar,.hero,main,.program-footer{max-width:none;padding-inline:0}.hero{grid-template-columns:1fr 1fr;gap:30px;padding-block:0 28px}.hero-art{max-width:220px}.hero-copy h1{font-size:45pt}.section-nav,.company-tools,.back-top,.intro-link,.download-link,.skip-link{display:none!important}.program-section{padding-block:25px}.section-heading h2{font-size:28pt}.company-grid{grid-template-columns:1fr 1fr;gap:24px}.person,.ad-card,.cast-block{break-inside:avoid}.person-header{grid-template-columns:65px 1fr;gap:13px}.person-header>img{width:65px;height:auto}.person-name h3{font-size:18pt}.biography{font-size:10pt;line-height:1.55}.program-footer{padding-bottom:0}}

html{scroll-behavior:auto;scroll-padding-top:0}
