:root{--navy:#0b0b30;--pink:#e96bae;--blue:#6bc4e7;--yellow:#ffc848;--white:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--navy);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--yellow)}a:focus-visible,summary:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:20px 5%;border-bottom:1px solid #ffffff25}.brand img{width:120px;display:block}nav{display:flex;align-items:center;gap:30px;font-size:15px}nav a{text-decoration:none}nav details{position:relative}summary{cursor:pointer}nav details div{position:absolute;top:36px;right:0;min-width:175px;background:var(--pink);color:var(--navy);padding:15px;box-shadow:0 8px 25px #0004}nav details a{display:block;padding:5px}.skip{position:absolute;left:10px;top:-100px;background:white;color:black;z-index:100}.skip:focus{top:10px}section{padding:80px 7%}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:900;line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(3rem,6vw,6rem);margin-bottom:36px}h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:32px}p{font-size:1.05rem}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.12em;line-height:1.7;margin-bottom:30px}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;padding-top:45px;padding-bottom:70px;align-items:center}.hero-logo{width:240px;max-width:65%;margin-bottom:28px}.hero h1{font-size:clamp(3.7rem,6.5vw,6.5rem);margin-bottom:0}.hero em{font-style:normal;color:var(--pink)}.year-block{text-align:center}.year{display:flex;justify-content:center;font-size:clamp(5rem,11vw,11rem);font-weight:900;line-height:1.1;letter-spacing:-.08em;margin-bottom:38px}.year span:nth-child(2){color:var(--pink)}.year span:nth-child(3){color:var(--blue)}.year span:nth-child(4){color:var(--yellow)}.date{font-size:1.6rem;line-height:1.15;font-weight:700;letter-spacing:.06em}.date strong{font-size:4.8rem;letter-spacing:-.045em}.button{display:inline-block;text-decoration:none;background:var(--yellow);color:var(--navy);padding:14px 24px;font-size:1rem;font-weight:700;margin-top:14px}.button:hover{color:var(--navy);background:var(--pink)}.pink{background:var(--pink);color:var(--navy)}.two{display:grid;grid-template-columns:1fr 1fr;gap:70px}.lead{font-size:clamp(1.3rem,2.3vw,1.9rem);line-height:1.5}.wide{max-width:850px;font-size:1.2rem;line-height:1.85}.text-link{font-weight:700}.press-section{background:#14143c}.press-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;align-items:center}.press-grid h2{font-size:2.4rem}.press-image{text-decoration:none;display:block}.press-image img{width:100%;display:block}.press-image span{display:block;background:var(--blue);color:var(--navy);padding:12px 20px;font-weight:700}.archive-section{background:var(--blue);color:var(--navy)}.archive-links{display:grid;grid-template-columns:1fr 1fr;gap:45px}.archive-links a{display:block;border-top:2px solid;padding:22px 0;text-decoration:none}.archive-links a:hover{color:var(--navy);opacity:.75}.archive-links span{font-weight:900;font-size:6rem;line-height:1.1;letter-spacing:-.06em}.archive-links p{margin:20px 0}.about-text{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.8;max-width:1000px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px}.people{display:flex;gap:30px}figure{margin:0;flex:1}figure img{width:100%;height:200px;object-fit:contain}figcaption{text-align:center;font-size:1rem;margin-top:20px}.contact-info a{display:block;font-size:1.2rem;margin-bottom:12px;overflow-wrap:anywhere}.contact-info p{margin-top:30px}.archive-hero h1{font-size:clamp(6rem,14vw,12rem);color:var(--pink);margin-bottom:20px}.y2024 .archive-hero{background:linear-gradient(105deg,#111,#666)}.y2024 .archive-hero h1{color:var(--yellow)}.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px}.chips a{border:1px solid #ffffff66;padding:10px 16px;font-size:.95rem;text-decoration:none}.program{background:var(--blue);color:var(--navy)}.schedule{font-size:1.1rem;font-weight:700;line-height:1.8}.play{padding:70px 7%;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:60px;border-bottom:1px solid #ffffff25;scroll-margin-top:30px}.play img{width:100%;max-height:540px;object-fit:contain;object-position:top}.play p{line-height:1.8}.play .eyebrow{color:var(--blue)}.play h2{font-size:clamp(2rem,3vw,3rem)}.sponsors{width:100%;height:auto}footer{border-top:1px solid #ffffff30;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:40px 7%}footer img{width:150px}footer p,footer a{font-size:.9rem}footer a{display:block;overflow-wrap:anywhere}footer p{margin-bottom:8px}@media(max-width:750px){header{align-items:center;gap:18px;padding:16px 5%;flex-direction:column}.brand img{width:100px}nav{justify-content:center;gap:15px;flex-wrap:wrap;font-size:14px}.hero{grid-template-columns:1fr;gap:45px}.hero-logo{width:190px}.hero h1{font-size:3.8rem}.hero .eyebrow{font-size:.8rem}.year{font-size:7rem;margin-bottom:24px}.year-block{text-align:left}.year{justify-content:flex-start}.date strong{font-size:4rem}.two,.press-grid,.archive-links,.contact-grid,.play{grid-template-columns:1fr;gap:30px}section{padding:50px 6%}.play{padding:45px 6%}.play img{max-height:420px}.play>div:first-child:empty{display:none}.people{gap:20px}figure img{height:170px}footer{flex-direction:column;align-items:flex-start;padding:35px 6%}.archive-links span{font-size:5rem}h1{font-size:3rem}.contact-info a{font-size:1.05rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Updated festival navigation and 2026 composition */
header{justify-content:center;padding:25px 4%}header nav{justify-content:center;flex-wrap:wrap;gap:10px 14px;width:100%;max-width:1450px;font-family:'Trebuchet MS',Arial,sans-serif;font-weight:700}header nav>a,header summary{display:block;padding:9px 14px;border:1px solid #6bc4e766;border-radius:3px;transition:background .15s,color .15s}header nav>a:hover,header summary:hover{background:var(--blue);color:var(--navy)}header nav>a[aria-current=page]{background:var(--pink);border-color:var(--pink);color:var(--navy)}header summary:after{content:' ▾';color:var(--blue)}header details[open] summary:after{content:' ▴'}header nav details div{top:49px;z-index:20}.hero{gap:60px;padding-top:60px;grid-template-columns:1.15fr 1fr}.hero-logo{width:440px;max-width:100%;margin-bottom:25px}.hero h1{font-size:clamp(2.2rem,3.6vw,3.6rem);line-height:1.12}.year{font-size:clamp(5rem,8vw,8rem)}.presenters{margin-bottom:48px}.presenter-logos{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.echo-presenter{width:210px;max-width:40%}.ampersand{font-size:2.3rem;font-weight:700}.venue-presenter{width:310px;max-width:48%}.venue-presenter img{width:100%;display:block}.venue-presenter span{display:block;font-size:1rem;margin-top:8px;font-weight:700}.presenters>p{font-size:1.3rem;font-weight:700;margin:18px 0 0}#festival .two{align-items:start}#festival .two p:first-child{margin-top:0}#festival .two>div p:first-child{font-size:1.3rem;line-height:1.5}.new-section{min-height:60vh}.new-section .lead{max-width:750px}@media(max-width:750px){header{padding:18px 4%}header nav{gap:8px}header nav>a,header summary{padding:7px 10px;font-size:14px}.hero{grid-template-columns:1fr;gap:36px;padding-top:40px}.hero-logo{width:340px}.hero h1{font-size:2.6rem}.year{font-size:6rem}.presenter-logos{gap:15px}.echo-presenter{width:150px;max-width:40%}.venue-presenter{max-width:45%}.ampersand{font-size:1.5rem}.venue-presenter span{font-size:.875rem}.presenters{margin-bottom:35px}}
/* Four homepage panels */
.hero{min-height:620px;grid-template-columns:1.2fr 1fr;align-items:center}.hero-logo{width:560px;max-width:100%;margin:0}.hero .date{margin-bottom:0}.festival-yellow{background:var(--yellow);color:var(--navy);text-align:center}.festival-yellow h1{font-size:clamp(2.5rem,5vw,4.8rem);max-width:1100px;margin:0 auto 40px}.festival-yellow h2{font-size:clamp(1.8rem,3vw,2.8rem);margin-bottom:25px}.festival-yellow .eyebrow{margin-bottom:20px}.festival-copy{max-width:800px;margin:0 auto}.festival-copy p{font-size:1.2rem}.festival-copy .lead{font-size:1.7rem;margin-bottom:15px}.festival-yellow .presenters{margin:55px auto 0}.festival-yellow .presenter-logos{justify-content:center}.festival-yellow .echo-presenter{filter:url(#echo-ink)}.festival-yellow .venue-presenter img{filter:url(#highways-ink)}.festival-yellow .presenters>p{margin-top:14px}.press-section{background:var(--navy)}@media(max-width:750px){.hero{min-height:0;grid-template-columns:1fr;text-align:center;padding-top:50px;padding-bottom:55px;gap:40px}.hero-logo{width:420px}.hero .year-block{text-align:center}.hero .year{justify-content:center}.festival-yellow h1{font-size:2.8rem}.festival-copy p{font-size:1.1rem}.festival-copy .lead{font-size:1.4rem}}
/* Festival details and program */
.hero .festival-description{margin:28px 0 12px;font-size:1.15rem;line-height:1.5}.festival-yellow h1{max-width:1180px;font-size:clamp(2.5rem,4.2vw,4.3rem);line-height:1.2}.slogan-line{display:inline-block}.word-new{color:var(--white)}.word-voices{color:var(--pink)}.word-stories{color:var(--blue)}.festival-yellow h1 span{-webkit-text-stroke:1px var(--navy);paint-order:stroke fill}.together{white-space:nowrap}.festival-details{display:grid;grid-template-columns:1fr 1fr;gap:75px;text-align:left;max-width:1080px;margin:40px auto 0;align-items:start}.festival-details p{font-size:1.2rem;line-height:1.6}.festival-details .lead{font-size:1.6rem;line-height:1.4;font-weight:700}.festival-details .venue-name{margin-bottom:10px;font-weight:700}.festival-visit address{font-style:normal;font-size:1.1rem;line-height:1.6}.festival-visit a:hover{color:var(--navy);text-decoration-thickness:2px}.ticket-button{background:var(--navy);color:white;border:0;font-family:inherit}.ticket-button:disabled{cursor:not-allowed;opacity:.75}.ticket-button:disabled:hover{background:var(--navy);color:white}.festival-details .ticket-status{font-size:.875rem;margin:8px 0 0}.festival-yellow .echo-presenter{filter:url(#echo-clear)}.festival-yellow .venue-presenter img{filter:none;width:100%;height:auto;object-fit:contain}.festival-yellow .presenter-logos{gap:35px;align-items:center}.festival-yellow .venue-presenter{width:330px}.festival-yellow .echo-presenter{width:225px}.program-2026{background:var(--navy);color:var(--white)}.schedule-days{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:40px}.schedule-days>div{border-top:2px solid var(--pink);padding-top:22px}.schedule-days h3{font-size:1.6rem;color:var(--yellow);margin-bottom:16px}.reading-panel{min-height:350px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid #ffffff30}.reading-panel h2{font-size:clamp(3rem,6vw,5rem);margin-bottom:0}.reading-heading .eyebrow{color:var(--blue)}.reading-panel:nth-of-type(2n) h2{color:var(--pink)}.reading-announcement{max-width:520px}.reading-announcement p:last-child{color:#dddde8}.reading-announcement .lead{font-size:1.5rem}@media(max-width:750px){.festival-details,.schedule-days,.reading-panel{grid-template-columns:1fr;gap:30px}.festival-details{margin-top:30px}.festival-yellow h1{font-size:2.7rem}.festival-yellow .presenter-logos{gap:16px}.festival-yellow .venue-presenter{max-width:46%}.festival-yellow .echo-presenter{max-width:40%}.reading-panel{min-height:280px}.reading-panel h2{font-size:3rem}}
/* Festival identity, return links, team and city typography */
.hero .festival-description{font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:900;line-height:1.15;letter-spacing:-.035em;max-width:600px;margin:28px 0 0}.return-row{padding:22px 7%;border-bottom:1px solid #ffffff22}.back-festival{display:inline-block;padding:10px 17px;border:1px solid var(--blue);text-decoration:none;font-weight:700;font-size:1rem;border-radius:3px}.back-festival:hover{background:var(--blue);color:var(--navy)}.contact-only{max-width:760px;margin-top:40px}.new-section>.people{max-width:740px;margin-top:40px;gap:70px}.new-section>.people figure img{height:260px}.city-about{position:relative;overflow:hidden;isolation:isolate}.city-backdrop{position:absolute;inset:10px 0;z-index:-1;pointer-events:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(7,1fr);align-items:center;gap:3px 8px;opacity:.105;color:var(--navy);padding:12px 2%;font-weight:900;line-height:1.05}.city-backdrop span{display:block;font-size:var(--size);transform:translateX(var(--shift)) rotate(var(--tilt));overflow-wrap:anywhere;text-align:center}.about-foreground{position:relative;z-index:1}.city-about .about-text,.city-about .wide{font-weight:500}@media(max-width:750px){.hero .festival-description{font-size:2rem;margin:24px auto 0}.return-row{padding:18px 6%}.new-section>.people{gap:25px}.new-section>.people figure img{height:185px}.city-backdrop{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(9,1fr);opacity:.085}.city-backdrop span{font-size:calc(var(--size)*.72)}}
/* Balanced hero rows and uniform team portrait framing */
.hero{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:25px 60px;max-width:1450px;margin:0 auto;padding:65px 9%;min-height:580px;align-items:center}.hero-brand{text-align:center;justify-self:center;width:100%}.hero .hero-logo{width:410px;max-width:100%;display:block;margin:auto}.hero>.festival-description{grid-column:1;grid-row:2;text-align:center;font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.2;margin:0;max-width:490px;justify-self:center}.hero>.button{grid-column:2;grid-row:2;justify-self:center;align-self:center;margin:0}.hero .year-block{grid-column:2;grid-row:1}.hero .year{font-size:clamp(5rem,7vw,7.5rem);margin-bottom:25px}.hero .date strong{font-size:4.2rem}.festival-yellow>.eyebrow{font-size:clamp(1.25rem,2.4vw,2rem);font-weight:900;letter-spacing:.06em;margin-bottom:30px}.festival-details .festival-intro>.lead,.festival-details .festival-visit>p:first-child{font-size:clamp(1.5rem,2.5vw,2.3rem);font-weight:900;line-height:1.15;letter-spacing:-.04em;margin-bottom:25px}.festival-visit{text-align:center}.festival-visit .ticket-button{display:block;margin:22px auto 0}.festival-yellow .venue-presenter{transform:translateY(18px)}.team-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;max-width:1100px;margin:50px auto 10px}.team-portraits figure{text-align:center}.portrait-circle{width:min(100%,280px);aspect-ratio:1;position:relative;overflow:hidden;border-radius:50%;margin:auto;background:#292943}.portrait-circle img{position:absolute;max-width:none;height:auto;object-fit:initial}.portrait-elena img{width:213.333%;left:-65%;top:-11.667%}.portrait-laura img{width:135%;left:-16.25%;top:-6.25%}.portrait-julia img{width:100%;left:0;top:-10%}.team-portraits figcaption{margin-top:24px;line-height:1.5}.team-portraits figcaption strong{display:block;font-size:1.35rem}.team-portraits figcaption span{display:block;font-size:1rem;color:var(--blue);margin-top:5px}@media(max-width:750px){.hero{grid-template-columns:1fr;grid-template-rows:auto;padding:45px 7%;gap:25px;min-height:0}.hero-brand{grid-column:1;grid-row:1}.hero>.festival-description{grid-column:1;grid-row:2;font-size:1.6rem;max-width:380px}.hero .year-block{grid-column:1;grid-row:3;margin-top:12px}.hero>.button{grid-column:1;grid-row:4}.hero .hero-logo{width:330px}.hero .year{font-size:6rem}.team-portraits{grid-template-columns:1fr;gap:45px}.portrait-circle{width:260px}.festival-yellow .venue-presenter{transform:translateY(10px)}}
.festival-details .festival-intro>.lead{text-align:center}.city-backdrop{display:block;padding:0;inset:0;opacity:.10}.city-backdrop span{position:absolute;left:var(--x);top:var(--y);font-size:var(--size);transform:translate(-50%,-50%) rotate(var(--tilt));white-space:nowrap;overflow-wrap:normal}.portrait-laura img{top:-12%}.portrait-julia img{width:115%;left:-7.5%;top:-26.5%}@media(max-width:750px){.city-backdrop{opacity:.085}.city-backdrop span{font-size:calc(var(--size)*.65)}}
.festival-intro{text-align:center}.event-city{display:inline-block;white-space:nowrap}.festival-ticket-cta{text-align:center;margin:38px auto 0}.festival-ticket-cta .ticket-button{display:inline-block;min-width:270px;padding:20px 48px;font-size:1.6rem;font-weight:900;letter-spacing:.02em;border:3px solid var(--navy);box-shadow:7px 7px 0 var(--pink);margin:0;background:var(--navy);color:var(--white)}.festival-ticket-cta .ticket-button:disabled{opacity:1;cursor:not-allowed}.festival-ticket-cta .ticket-status{font-size:.9rem;margin-top:15px}.program-play-list{list-style:none;padding:0;margin:25px 0 0}.program-play-list li{padding:20px 0;border-bottom:1px solid #ffffff30}.program-play-list a{display:block;text-decoration:none}.program-play-list strong{display:block;font-size:1.4rem;line-height:1.3}.program-play-list span{display:block;margin-top:8px;font-size:1.05rem;color:var(--blue)}.reading-panel h2{font-size:clamp(2rem,3.8vw,3.8rem)}@media(max-width:750px){.festival-ticket-cta .ticket-button{min-width:230px}.program-play-list strong{font-size:1.25rem}}
.hero .hero-logo{width:450px}.program-play-list li:nth-child(3n+1) strong{color:var(--white)}.program-play-list li:nth-child(3n+2) strong{color:var(--pink)}.program-play-list li:nth-child(3n) strong{color:var(--yellow)}.reading-panel.reading-1 h2,.reading-panel.reading-4 h2{color:var(--white)}.reading-panel.reading-2 h2,.reading-panel.reading-5 h2{color:var(--pink)}.reading-panel.reading-3 h2,.reading-panel.reading-6 h2{color:var(--yellow)}.ucla-news{padding:25px 0 60px;margin-bottom:55px;border-bottom:1px solid #ffffff30}.ucla-news-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}.ucla-headline{width:100%;height:auto;display:block;margin-bottom:25px}.ucla-news figure img{width:100%;height:auto;display:block;object-fit:contain}.ucla-news figcaption{text-align:left;font-size:.875rem;margin-top:12px;color:#d9d9e7}.news-credit{font-size:.9rem;color:var(--blue)}@media(max-width:750px){.hero .hero-logo{width:360px}.ucla-news-grid{grid-template-columns:1fr;gap:30px}}

/* Hide the separator between presenter logos on mobile. */
@media(max-width:750px){.festival-yellow .presenter-logos .ampersand{display:none}}

/* Ticket sales and a persistent return to the main menu. */
header nav .nav-tickets{background:var(--yellow);color:var(--navy);border-color:var(--yellow);font-weight:900}
header nav .nav-tickets:hover{background:var(--pink);border-color:var(--pink);color:var(--navy)}
.program-ticket-cta{text-align:center;margin:45px auto 0}.program-ticket-button{min-width:230px;font-size:1.5rem;font-weight:900;background:var(--yellow);color:var(--navy);box-shadow:6px 6px 0 var(--pink)}
.festival-ticket-cta .ticket-button:hover{background:var(--pink);color:var(--navy)}
.quick-home{position:fixed;right:20px;bottom:20px;z-index:100;padding:12px 18px;border:2px solid var(--navy);border-radius:30px;background:var(--yellow);color:var(--navy);box-shadow:0 3px 14px #0003;font-size:1rem;font-weight:700;text-decoration:none}
.quick-home:hover{background:var(--pink)}.quick-home:focus-visible,.nav-tickets:focus-visible,.program-ticket-button:focus-visible,.ticket-button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
footer{padding-bottom:95px}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:750px){.quick-home{right:12px;bottom:12px;padding:10px 15px}.program-ticket-button{min-width:210px}}

/* Playwright biography and circular original portrait. */
.reading-panel .author-profile{display:flex;flex-direction:column;align-items:center;gap:25px;width:100%}.author-portrait{display:block;width:280px;height:280px;max-width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center 30%}.author-biography{width:100%;max-width:600px}.author-biography h3{font-size:1.7rem;margin:0 0 18px;color:var(--white)}.author-biography .eyebrow{color:var(--blue);margin-bottom:8px}.author-biography>p:last-child{font-size:1.05rem;line-height:1.7;margin:0}@media(max-width:750px){.author-portrait{width:250px;height:250px}.reading-panel .author-profile{align-items:center}.author-biography h3,.author-biography .eyebrow{text-align:center}}

.author-portrait.portrait-sokoltsov{object-position:center 52%}.author-biography>p:not(.eyebrow){font-size:1.05rem;line-height:1.7}.author-biography>p+p{margin-top:16px}

/* 2025 archive: continuous program text and clean, uniform poster frames. */
.y2025 .archive-schedule{display:block;max-width:1200px}.y2025 .archive-schedule>div+div{margin-top:38px;padding-top:28px;border-top:1px solid #0b0b3040}.y2025 .archive-schedule h3{font-size:1.6rem;margin-bottom:18px}.y2025 .archive-schedule p{margin-bottom:12px;line-height:1.6}.y2025 .archive-poster{width:100%;max-width:360px;aspect-ratio:2/3;display:flex;align-items:center;justify-content:center;margin-inline:auto}.y2025 .poster-crop{position:relative;overflow:hidden;width:100%;flex:none}.y2025 .poster-crop img{position:absolute;max-height:none;max-width:none;height:auto;display:block;object-fit:initial}.y2025 .poster-6{aspect-ratio:452/692}.y2025 .poster-6 img{width:122.788%;left:-8.407%;top:0}.y2025 .poster-7{aspect-ratio:462/650}.y2025 .poster-7 img{width:114.935%;left:-7.576%;top:0}.y2025 .poster-8{aspect-ratio:476/690}.y2025 .poster-8 img{width:115.966%;left:-3.992%;top:0}.y2025 .poster-9{aspect-ratio:479/692}.y2025 .poster-9 img{width:118.789%;left:0;top:-1.445%}.y2025 .play{align-items:start}.y2025 .play h2{line-height:1.15;letter-spacing:-.025em;overflow-wrap:normal}

/* Restored playwright and director portraits from the 2025 program. */
.y2025 .archive-creators{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:25px 0 32px;max-width:560px}.y2025 .archive-creators figure{text-align:center;min-width:0}.y2025 .archive-creators img{display:block;width:150px;height:150px;max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;margin:auto}.y2025 .archive-creators figcaption{margin-top:12px;line-height:1.5}.y2025 .archive-creators span{display:block;color:var(--blue);font-size:.9rem}.y2025 .archive-creators strong{display:block;font-size:1rem;font-weight:700}@media(max-width:420px){.y2025 .archive-creators{gap:16px}.y2025 .archive-creators img{width:120px;height:120px}}

/* 2024 archive: clean source images and a single-column schedule. */
.y2024 .archive-schedule{max-width:1200px}.y2024 .archive-schedule>div+div{margin-top:38px;padding-top:28px;border-top:1px solid #0b0b3040}.y2024 .archive-schedule h3{font-size:1.6rem;margin-bottom:18px}.y2024 .archive-schedule p{margin-bottom:12px;line-height:1.6}.y2024 .archive-visual{width:100%;max-width:360px;aspect-ratio:3/4;margin-inline:auto;display:flex;align-items:center;justify-content:center}.y2024 .archive-visual img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}.y2024 .play{align-items:start}.y2024 .play h2{line-height:1.2;letter-spacing:normal;overflow-wrap:normal}.y2024 #item-5 .archive-visual{max-width:none;aspect-ratio:auto}.y2024 #item-5{grid-template-columns:1fr}.y2024 #item-5 .archive-visual img{height:auto}

.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;margin:50px auto 0;max-width:1200px}.partner-grid figure{min-width:0;text-align:center}.partner-logo{height:190px;display:flex;align-items:center;justify-content:center}.partner-logo img{display:block;width:100%;height:auto;max-height:180px;object-fit:contain}.partner-logo .library-logo{width:170px;height:170px;border-radius:50%}.partner-grid figcaption{font-size:1.05rem;font-weight:700;line-height:1.5;margin-top:24px}@media(max-width:750px){.partner-grid{grid-template-columns:1fr;gap:40px;max-width:360px}.partner-logo{height:170px}}

/* Persistent ticket access for the current festival, with a compact return arrow. */
.quick-home{left:max(20px,env(safe-area-inset-left));right:auto;bottom:calc(20px + env(safe-area-inset-bottom));width:48px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;border-radius:50%}
.floating-tickets{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:100;display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 27px;border:2px solid var(--navy);border-radius:30px;background:var(--yellow);color:var(--navy);box-shadow:0 3px 14px #0003;font-size:1.1rem;font-weight:900;text-decoration:none}
.floating-tickets:hover{background:var(--pink);color:var(--navy)}.floating-tickets:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:750px){.quick-home{left:max(12px,env(safe-area-inset-left));right:auto;bottom:calc(12px + env(safe-area-inset-bottom));padding:0}.floating-tickets{right:max(12px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));padding:10px 24px}}

/* Partner page heading and application link. */
.partners-page>h1{font-size:clamp(2rem,3.5vw,3.5rem);text-align:center;line-height:1.15}.partners-page>.eyebrow{text-align:center}.partner-application{text-align:center;margin:64px auto 8px}.partner-application .partner-apply{background:var(--yellow);color:var(--navy);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:900;padding:18px 34px;max-width:100%;border:2px solid var(--yellow);box-shadow:6px 6px 0 var(--pink);border-radius:4px}.partner-application .partner-apply:hover{background:var(--pink);border-color:var(--pink)}.partner-apply:focus-visible{outline:3px solid var(--blue);outline-offset:5px}@media(max-width:750px){.partner-application{margin-top:48px}.partner-application .partner-apply{padding:16px 25px}}

/* More breathing room for present and future festival partners. */
.partners-page .partner-grid{gap:55px;margin-top:60px;margin-bottom:70px}.partners-page .partner-logo{height:140px}.partners-page .partner-logo img{max-width:230px;max-height:120px}.partners-page .partner-logo .library-logo{width:120px;height:120px}.partners-page .partner-grid figcaption{font-size:1rem;max-width:280px;margin:20px auto 0}.partners-page .partner-application{margin-top:80px}footer:has(.footer-partner-apply){flex-wrap:wrap}footer .footer-partner-apply{display:inline-block;font-size:1rem;padding:15px 22px;text-align:center;max-width:100%;margin:0;background:var(--yellow);color:var(--navy);border-radius:4px;font-weight:900}footer .footer-partner-apply:hover{background:var(--pink)}@media(max-width:750px){.partners-page .partner-grid{gap:36px;margin-top:40px;margin-bottom:50px}.partners-page .partner-application{margin-top:50px}}

/* Centered portrait crops for the remaining 2026 playwrights. */
.new-author-circle{width:280px;max-width:100%;aspect-ratio:1;border-radius:50%;position:relative;overflow:hidden;margin-inline:auto}.new-author-circle img{position:absolute;display:block;max-width:none;height:auto}.sasha-ostras img{width:175%;left:-30%;top:-68%}.sergey-makeychik img{width:165%;left:-58%;top:-9%}.compact-author .author-biography{text-align:center}@media(max-width:750px){.new-author-circle{width:250px}}

.author-portrait.makeychik-updated{object-position:center 42%}

/* Festival photography */
.photo-albums h1,.presswall-page h1{font-size:clamp(2.2rem,6vw,4.8rem);line-height:1.1;letter-spacing:-.025em}
.album-year h2{color:var(--pink,#e96bae);margin:2rem 0 1rem}
.album-card{display:block;max-width:440px;text-decoration:none;border:1px solid #ffffff35;overflow:hidden}
.album-card>img{display:block;width:100%;height:340px;object-fit:cover;object-position:center 25%}
.album-card>div{padding:1.2rem 1.5rem}.album-card h3{font-size:2rem;margin:0}.album-card p{display:flex;justify-content:space-between;margin:.5rem 0 0}
.album-card:hover{border-color:#ffc848}.gallery-back{display:inline-block;margin-bottom:2rem}.gallery-count{margin:1rem 0 2rem;color:#ffffffb8}
.presswall-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gallery-photo{display:block;background:#ffffff08;aspect-ratio:2/3;overflow:hidden}
.gallery-photo img{display:block;width:100%;height:100%;object-fit:contain}
.gallery-photo:focus-visible,.album-card:focus-visible{outline:3px solid #ffc848;outline-offset:4px}
.photo-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:60px 70px;background:#070719f5;color:#fffdf9;box-sizing:border-box}
.photo-viewer::backdrop{background:#070719}.photo-viewer[open]{display:flex;align-items:center;justify-content:center}
.photo-viewer figure{margin:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0}
.photo-viewer figure img{display:block;max-width:100%;max-height:calc(100% - 38px);object-fit:contain;touch-action:pan-y}
.photo-viewer figcaption{font-size:14px;line-height:1.5;text-align:center}
.photo-viewer button{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #ffffff55;border-radius:50%;background:#0b0b30;color:#fffdf9;font:32px/1 Arial;cursor:pointer;padding:0}
.photo-viewer button:hover{background:#ffc848;color:#0b0b30}.photo-viewer button:focus-visible{outline:3px solid #ffc848;outline-offset:3px}
.viewer-close{right:16px;top:max(16px,env(safe-area-inset-top))}.viewer-prev{left:12px;top:calc(50% - 24px)}.viewer-next{right:12px;top:calc(50% - 24px)}
body.photo-viewer-open{overflow:hidden}.archive-photo-link{text-align:center;padding:3rem 1rem}
@media(max-width:650px){.presswall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-viewer{padding:72px 12px 86px}.viewer-prev{top:auto;bottom:max(18px,env(safe-area-inset-bottom));left:calc(50% - 62px)}.viewer-next{top:auto;bottom:max(18px,env(safe-area-inset-bottom));right:calc(50% - 62px)}.album-card{max-width:100%}.album-card>img{height:320px}}

/* Compact contact sheet; full-height photographs in the viewer. */
.album-card{max-width:280px}
.album-card>img{width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;background:#10102d;object-position:center}
.presswall-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:1100px;margin-inline:auto}
.gallery-photo{aspect-ratio:3/4}
.photo-viewer{padding:24px 72px 20px}
.photo-viewer figure{flex:0 1 100%;height:100%;max-width:none;min-height:0;gap:8px}
.photo-viewer figure img{width:100%;height:calc(100% - 30px);max-width:100%;max-height:none;min-height:0;flex:1 1 auto;object-fit:contain}
.photo-viewer figcaption{flex:0 0 22px}
@media(max-width:1000px){.presswall-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.presswall-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.album-card{max-width:260px}.photo-viewer{padding:60px 6px 78px}.photo-viewer figure img{height:calc(100% - 30px)}}

.director-profile{margin-top:52px}.author-portrait.portrait-angelina{object-position:35% 20%}.photo-credit{font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.album-card .photo-credit{display:block;margin-top:12px;font-size:.95rem}.presswall-page .gallery-count{margin-bottom:.5rem}

/* Play artwork and synopsis on the left; creative team on the right. */
.reading-panel{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,5vw,72px)}
.reading-feature,.reading-people{min-width:0}.reading-people{display:flex;flex-direction:column;gap:36px}
.reading-feature .reading-heading h2{font-size:clamp(2rem,3.5vw,3.8rem);overflow-wrap:break-word}
.reading-panel .author-profile{display:flex;flex-direction:row;align-items:flex-start;gap:22px}
.reading-panel .author-portrait,.reading-panel .new-author-circle{width:120px;height:120px;min-width:120px;flex:0 0 120px;margin:0}
.reading-panel .author-biography{flex:1;min-width:0;width:auto;max-width:none}
.reading-panel .author-biography h3{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.2;text-align:left;margin-bottom:14px}
.reading-panel .author-biography .eyebrow{text-align:left;font-size:.875rem;margin-top:0}
.reading-panel .author-biography>p:not(.eyebrow){font-size:1rem;line-height:1.65}
.reading-panel .director-profile{margin-top:0;padding-top:32px;border-top:1px solid #ffffff30}
.reading-feature .play-poster{display:block;width:100%;height:auto;max-height:none;margin-bottom:24px}
.reading-feature .play-description{font-size:1rem;line-height:1.65;margin-top:24px}
@media(max-width:850px){.reading-panel{grid-template-columns:1fr;gap:30px}.reading-people{gap:28px}.reading-panel .author-profile{gap:20px}}
@media(max-width:500px){.reading-panel .author-profile{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px 16px;align-items:start}.reading-panel .author-portrait,.reading-panel .new-author-circle{width:80px;height:80px;min-width:80px;grid-column:1;grid-row:1/3}.reading-panel .author-biography{display:contents}.reading-panel .author-biography .eyebrow{grid-column:2;grid-row:1;margin:8px 0 0;align-self:end}.reading-panel .author-biography h3{grid-column:2;grid-row:2;font-size:1.3rem;margin:0}.reading-panel .author-biography>p:not(.eyebrow){grid-column:1/-1;margin:12px 0 0}.reading-panel .director-profile{padding-top:24px}}

.portrait-julia img{width:115%;left:-15%;top:-17%}.album-cards{display:flex;flex-wrap:wrap;align-items:flex-start;gap:32px}.album-cards .album-card{width:280px;max-width:100%}

/* Play synopses: distinct from the creative-team biographies. */
.reading-feature .play-description{font-size:1.0625rem;font-style:italic;font-weight:400;line-height:1.75;max-width:54ch;margin:24px 0 0;text-align:left;color:inherit;letter-spacing:normal}
@media(max-width:500px){.reading-feature .play-description{font-size:1rem;line-height:1.7;margin-top:20px}}

.reading-panel .portrait-jenna{object-fit:cover;object-position:center}
.reading-panel .director-name-only{padding-left:142px}
@media(max-width:500px){.reading-panel .director-name-only{display:block;padding-left:0}.reading-panel .director-name-only .author-biography{display:block}.reading-panel .director-name-only .eyebrow{margin:0 0 8px}}

.reading-panel .director-portrait-3{object-position:center 25%}.reading-panel .director-portrait-1,.reading-panel .director-portrait-2{object-position:center}
