.theater_festival_page{background:var(--bg-page);color:var(--ink-main)}.theater_festival_page-hero{position:relative;isolation:isolate;padding-top:calc(var(--site-header-height) + var(--space-12));padding-bottom:max(3rem,min(calc(1rem + 5vw),5rem))}.theater_festival_page-pattern{position:absolute;inset:0;z-index:var(--z-sink);pointer-events:none;-webkit-mask-image:radial-gradient(ellipse at right,var(--mix-contrast),transparent 70%);mask-image:radial-gradient(ellipse at right,var(--mix-contrast),transparent 70%)}.theater_festival_page-stage{display:grid;align-items:center;grid-gap:var(--space-12);gap:var(--space-12)}.theater_festival_page-kicker,.theater_festival_page-caption{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.theater_festival_page-title{margin-top:var(--space-6);font-family:var(--font-heading);font-size:max(2.25rem,min(calc(.75rem + 3.75vw),3.75rem));font-weight:var(--weight-light);line-height:1.05;letter-spacing:-.025em;text-transform:uppercase;white-space:pre-line}.theater_festival_page-intro{max-width:38rem;margin-top:var(--space-8);font-size:var(--text-xl);line-height:var(--leading-relaxed)}.theater_festival_page-body{max-width:42rem;margin-top:var(--space-4);color:var(--ink-muted);font-size:var(--text-base);line-height:var(--leading-relaxed)}.theater_festival_page-status{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-6);font-size:var(--text-sm)}.theater_festival_page-status_mark{color:var(--ink-brand);font-family:var(--font-mono);font-size:var(--text-2xl)}.theater_festival_page-action{margin-top:var(--space-6)}.theater_festival_page-relic{--c-mask-size: 15rem;display:grid;justify-items:center;grid-gap:var(--space-8);gap:var(--space-8)}.theater_festival_page-caption{text-align:center}.theater_festival_page-heading{margin-top:var(--space-4);font-family:var(--font-heading);font-size:max(1.875rem,min(calc(.75rem + 2.8125vw),3rem));font-weight:var(--weight-light);line-height:1.1;text-transform:uppercase;white-space:pre-line}.theater_festival_page-invitation{padding-top:max(3rem,min(calc(1rem + 5vw),5rem));padding-bottom:max(3rem,min(calc(1rem + 5vw),5rem));background-color:var(--brand-primary);color:var(--ink-main)}.theater_festival_page-invitation .theater_festival_page-body{color:var(--ink-main)}.theater_festival_page-invitation_content{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}@media(min-width:48rem){.theater_festival_page-stage{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.theater_festival_page-relic{--c-mask-size: 23rem}.theater_festival_page-invitation_content{grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}}.theater_festival_page-button{width:100%;height:auto;min-height:3rem;padding-top:var(--space-4);padding-bottom:var(--space-4);white-space:normal;line-height:var(--leading-snug)}@media(min-width:48rem){.theater_festival_page-button{width:auto}}.festival_archive_page{padding-top:calc(var(--site-header-height) + var(--space-8));background:var(--bg-page);color:var(--ink-main)}.festival_archive_page-header{padding-top:max(2.5rem,min(calc(1rem + 3.75vw),4rem));padding-bottom:max(2.5rem,min(calc(1rem + 3.75vw),4rem))}.festival_archive_page-kicker,.festival_archive_page-caption,.festival_archive_page-meta{color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-relaxed);letter-spacing:.04em}.festival_archive_page-kicker{text-transform:uppercase;letter-spacing:.08em}.festival_archive_page-introduction{display:grid;grid-gap:var(--space-6);gap:var(--space-6);align-items:end}.festival_archive_page-title{margin-top:var(--space-4);font-family:var(--font-heading);font-size:max(3rem,min(calc(1.5rem + 3.75vw),4.5rem));font-weight:var(--weight-light);line-height:1;letter-spacing:-.03em;text-transform:uppercase}.festival_archive_page-intro{max-width:38rem;font-size:var(--text-lg);color:var(--ink-muted);line-height:var(--leading-relaxed)}.festival_archive_page-featured{position:relative;isolation:isolate;padding-top:max(2rem,min(5vw,4rem));padding-bottom:max(2rem,min(5vw,4rem));background:var(--bg-page);color:var(--ink-main)}.festival_archive_page-pattern{position:absolute;inset:0;z-index:var(--z-sink);pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent,var(--mix-contrast));mask-image:linear-gradient(to right,transparent,var(--mix-contrast))}.festival_archive_page-featured_bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-base)}.festival_archive_page-status{padding:var(--space-2) var(--space-3);border:1px solid var(--border-base);font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase}.festival_archive_page-status[data-state=upcoming]{color:var(--ink-on-brand);background:var(--brand-primary);border-color:var(--brand-primary)}.festival_archive_page-featured_grid{display:grid;grid-gap:var(--space-10);gap:var(--space-10);align-items:center;padding-top:var(--space-8)}.festival_archive_page-heading{margin-top:var(--space-4);font-family:var(--font-heading);font-size:max(1.875rem,min(calc(.75rem + 2.8125vw),3rem));font-weight:var(--weight-light);line-height:1.1;text-transform:uppercase;white-space:pre-line}.festival_archive_page-subtitle{margin-top:var(--space-4);font-size:var(--text-lg);line-height:var(--leading-base)}.festival_archive_page-body{max-width:38rem;margin-top:var(--space-4);color:var(--ink-muted);font-size:var(--text-base);line-height:var(--leading-relaxed)}.festival_archive_page-production{margin-top:var(--space-8);margin-bottom:var(--space-8);padding-left:var(--space-5);border-left:2px solid var(--brand-primary)}.festival_archive_page-play{margin-top:var(--space-2);margin-bottom:var(--space-2);font-family:var(--font-heading);font-size:var(--text-2xl)}.festival_archive_page-figure{min-width:0}.festival_archive_page-image{display:block;width:100%;height:auto}.festival_archive_page-caption{margin-top:var(--space-3)}.festival_archive_page-archive{padding-top:max(3rem,min(calc(1rem + 5vw),5rem));padding-bottom:max(3rem,min(calc(1rem + 5vw),5rem))}.festival_archive_page-entry{display:grid;grid-gap:var(--space-6);gap:var(--space-6);margin-top:var(--space-10);padding:var(--space-8) var(--space-4);border-top:1px solid var(--border-base);border-bottom:1px solid var(--border-base);color:inherit;-webkit-text-decoration:none;text-decoration:none;transition:background var(--duration-base) var(--ease-standard)}.festival_archive_page-entry:hover{background:var(--bg-surface)}.festival_archive_page-entry:focus-visible{outline:2px solid var(--border-focus);outline-offset:4px}.festival_archive_page-entry_date{display:grid;grid-gap:var(--space-2);gap:var(--space-2);align-content:start}.festival_archive_page-year{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--weight-light)}.festival_archive_page-entry_title{margin-top:var(--space-2);font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--weight-regular);text-transform:uppercase}.festival_archive_page-entry_action{display:flex;gap:var(--space-6);justify-content:space-between;align-items:center}.festival_archive_page-read{font-size:var(--text-sm);text-transform:uppercase}.festival_archive_page-invitation{padding-top:max(2.5rem,min(calc(1rem + 3.75vw),4rem));padding-bottom:max(2.5rem,min(calc(1rem + 3.75vw),4rem));border-top:1px solid var(--border-base)}.festival_archive_page-action{margin-top:var(--space-6)}@media(min-width:48rem){.festival_archive_page-introduction{grid-template-columns:1fr 1fr;gap:var(--space-12)}.festival_archive_page-featured_grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.festival_archive_page-entry{grid-template-columns:11rem minmax(0,1fr) auto;align-items:center;gap:var(--space-8)}.festival_archive_page-entry_action{flex-direction:column;align-items:end}}.festival_archive_page-button{width:100%;height:auto;min-height:3rem;padding-top:var(--space-4);padding-bottom:var(--space-4);white-space:normal;line-height:var(--leading-snug)}@media(min-width:48rem){.festival_archive_page-button{width:auto}}
