/* Alternate edition: colours and theatrical hierarchy taken from the client TIFF. */
.poster-edition { --paper:#f6efdd; --ink:#f6efdd; --muted:#c4c8c6; --accent:#e9bc72; --line:#756444; background:#091722; color:#f6efdd; }
.poster-edition .site-header { background:rgb(6 16 25 / .94); border-bottom:1px solid rgb(231 185 111 / .28); }
.poster-edition .brand em, .poster-edition .accent, .poster-edition .text-link { color:#e9bc72; }
.poster-edition .nav-ticket { color:#ffe5ac; }
.poster-edition .section h2, .poster-edition .section h3, .poster-edition .actor-profile-copy h1 { color:#f7e7bc; }
.poster-edition .section h2 em { color:#edb96d; }
.poster-edition .eyebrow { letter-spacing:.19em; }
.poster-edition .section, .poster-edition .actor-directory, .poster-edition .actor-profile, .poster-edition .actor-photo-section, .poster-edition .actor-return { color:#f6efdd; background:transparent; }
.poster-edition .editorial-scene::after { opacity:.6; filter:saturate(.8); }
.poster-edition .editorial-scene .scene-copy::before, .poster-edition .project-producers .creative-group-heading::before, .poster-edition .project-producers .team-list::before { background:#10212e; opacity:.84; }
.poster-edition .actor-card h3 { color:#f6efdd; }
.poster-edition .actor-card p, .poster-edition .team-list p, .poster-edition .team-bio { color:#d7d6ce; }
.poster-edition .actor-card-image, .poster-edition .creator-portrait, .poster-edition .actor-profile-portrait { border-bottom:2px solid #b88c4e; background:#091722; }
.poster-edition .actor-card:hover h3 { color:#f6ce8b; }
.poster-edition .film video { border-color:#8f744c; background:#07121b; }
.poster-edition .film figcaption { color:#f5d59a; }
.poster-edition .site-footer { background:transparent; color:#f6efdd; border-top:1px solid #967641; }
.poster-edition .footer-description, .poster-edition .footer-venue, .poster-edition .footer-invitation { color:#e5decf; }
.poster-edition .social-button { border-color:#6e6655; background:rgb(16 33 46 / .5); }
.poster-edition .social-button:hover { background:#263747; border-color:#e9bc72; }
.poster-edition .social-button-icon, .poster-edition .social-button-arrow { color:#e9bc72; }
.poster-edition .footer-partners, .poster-edition .footer-bottom, .poster-edition .footer-contacts { border-color:#6f624c; }
.poster-edition .back-top { background:#a52d2a; box-shadow:0 0 30px rgb(215 123 44 / .16); }
.poster-edition .scroll-progress { background:linear-gradient(90deg,#98542a,#f5d59a); }
.poster-edition .calendar-dialog { background:#10212e; color:#f6efdd; border-color:#b38b51; }
.poster-edition .calendar-action { background:#a6372e; border-color:#c88662; }
.poster-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.poster-hero { min-height:100svh; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); align-items:center; gap:clamp(20px,4vw,70px); padding:40px var(--gutter); position:relative; isolation:isolate; overflow:hidden; background:transparent; }
.poster-hero-copy { max-width:620px; padding:70px 0 40px; }
.poster-hero-copy .eyebrow { color:#edc484; font-size:11px; }
.poster-promise { font:clamp(38px,4.8vw,80px)/1.03 var(--serif); letter-spacing:-.04em; margin:32px 0 24px; color:#f6efdd; }
.poster-promise em { color:#f0c782; }
.poster-intro { color:#d6d5cb; font:clamp(17px,1.5vw,22px)/1.5 var(--serif); max-width:30ch; }
.poster-dates { display:grid; gap:6px; color:#f4d49b; background:transparent; border:0; border-top:1px solid #987a4b; border-bottom:1px solid #987a4b; border-radius:0; padding:18px 0; margin:36px 0 20px; text-align:left; cursor:pointer; width:min(100%,390px); }
.poster-dates span { font:11px/1.5 var(--sans); letter-spacing:.15em; text-transform:uppercase; }
.poster-dates strong { font:clamp(28px,3vw,44px)/1.12 var(--serif); letter-spacing:-.02em; }
.poster-dates:hover strong { color:#fff4d8; }
.poster-venue { color:#ddd8cb; font:16px/1.5 var(--serif); }
.poster-actions { display:flex; flex-wrap:wrap; gap:18px 28px; margin-top:30px; }
.poster-action { color:#edc484; font:12px/1.5 var(--sans); letter-spacing:.07em; border-bottom:1px solid #a8844f; padding:8px 0; }
.poster-action span { margin-left:12px; }
.poster-action:hover { color:#fff1cf; border-color:#fff1cf; }
.poster-action--quiet { color:#d5d8d4; border-color:#66717a; }
.poster-art { display:block; justify-self:end; width:100%; max-width:640px; position:relative; }
.poster-art img { display:block; width:100%; height:auto; max-height:calc(100svh - 80px); object-fit:contain; object-position:right center; filter:none; }
.poster-art:focus-visible, .poster-action:focus-visible, .poster-dates:focus-visible { outline:2px solid #f3d59b; outline-offset:6px; }
@keyframes poster-arrive { from { opacity:0; transform:translateY(15px); } to { opacity:1; transform:translateY(0); } }
.poster-art { animation:poster-arrive 1s ease-out both; }
.poster-hero-copy { animation:poster-arrive .85s .12s ease-out both; }
@media(min-width:1600px) { .poster-hero { grid-template-columns:1fr 1fr; gap:8vw; } }
@media(max-width:1000px) and (min-width:701px) { .poster-hero { gap:22px; } .poster-promise { font-size:42px; } .poster-hero-copy { padding-top:65px; } }
@media(max-width:700px) {
 .poster-hero { display:flex; flex-direction:column; gap:0; padding:76px 0 0; }
 .poster-art { order:-1; width:100%; max-width:500px; margin:0 auto; align-self:center; }
 .poster-art img { max-height:none; object-position:center; }
 .poster-hero-copy { width:100%; max-width:500px; padding:38px var(--gutter) 58px; }
 .poster-hero-copy .eyebrow { font-size:10px; }
 .poster-promise { font-size:clamp(36px,8vw,54px); margin:24px 0 20px; }
 .poster-dates { margin-top:28px; width:100%; }
 .poster-actions { gap:18px; }
}
@media(prefers-reduced-motion:reduce) { .poster-art, .poster-hero-copy { animation:none; } }
@media print { .poster-edition, .poster-edition .section, .poster-edition .site-footer { background:white !important; color:black !important; } .poster-edition h2, .poster-edition h3 { color:black !important; } .poster-hero { display:block; min-height:0; background:white; } .poster-art { max-width:300px; } .poster-hero-copy { padding:0; } }

.poster-image-link { display:block; }
.poster-date-hotspot { position:absolute; right:1.5%; bottom:11.6%; width:25%; height:14%; background:transparent; border:0; border-radius:0; cursor:pointer; }
.poster-date-hotspot:hover { background:rgb(255 225 155 / .08); }
.poster-date-hotspot:focus-visible { outline:2px solid #f5d59a; outline-offset:2px; }
.poster-edition .skip-link { color:#091722; background:#f6efdd; }
.poster-edition .calendar-dialog input, .poster-edition .calendar-dialog select { color:#f6efdd; background:transparent; border-color:#9b7c4a; color-scheme:dark; }

/* One decorative plane: continuous across section boundaries and artist pages.
   Fixed element avoids mobile background-attachment repaint/resize issues. */
.poster-edition { position:relative; isolation:isolate; background:#091722; }
.poster-edition::before {
 content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
 background:linear-gradient(rgb(5 16 24 / .48),rgb(5 16 24 / .48)),url('/assets/poster/poster-backdrop.webp') center / cover no-repeat;
}
.poster-edition.home-page .editorial-scene::after { display:none; }
.poster-edition .poster-promise, .poster-edition .poster-intro, .poster-edition .section-heading { text-shadow:0 2px 12px rgb(2 10 16 / .55); }
@media(max-width:700px) {
 .poster-edition::before { background-position:center; background-size:auto,auto 100%; }
}
@media print { .poster-edition::before { display:none; } }


/* Original TIFF pixels, independently clipped; no generated actor pixels. */
.living-poster { min-height:100svh; display:grid; place-items:center; padding:66px 0 8px; }
.poster-stage { position:relative; isolation:isolate; width:min(100%,calc((100svh - 74px)*2/3)); aspect-ratio:2/3; container-type:inline-size; overflow:hidden; }
.poster-stage-backdrop { position:absolute; inset:0; background:url('/assets/poster/poster-backdrop.webp') center / 100% 100%; z-index:-1; }
.poster-people { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; }
.poster-performer { cursor:pointer; outline:none; transition:filter .25s ease; }
.poster-performer:hover,.poster-performer:focus-visible { filter:brightness(1.09) drop-shadow(0 0 5px #edbd6b); }
.poster-lettering { position:absolute; top:3.2%; left:15%; right:15%; text-align:center; pointer-events:none; }
.poster-lettering h1 { color:#f9d283; font-family:var(--serif); line-height:.85; letter-spacing:-.04em; text-transform:uppercase; font-weight:400; filter:drop-shadow(0 2px 2px #24180a); }
.poster-lettering h1 span { display:block; font-size:8.1cqw; font-weight:400; }
.poster-lettering h1 strong { display:block; font-size:15.4cqw; font-weight:400; margin-top:1.2cqw; color:#f3ce80; background:linear-gradient(165deg,#fff1c5 8%,#bb7325 30%,#ffe3a0 46%,#c88e3d 65%,#fff2c9 85%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.poster-pulse { height:3.5cqw; margin:.4cqw -1cqw 0; }
.poster-pulse svg { width:100%; height:100%; overflow:visible; }
.poster-pulse path { fill:none; stroke:#e9b359; stroke-width:2; }
.poster-lettering p { color:#fff4dd; font:2.4cqw/1.4 var(--serif); letter-spacing:.28em; text-transform:uppercase; white-space:nowrap; margin:.1cqw -7cqw 0; text-shadow:0 1px 4px black; }
.poster-cast-names { position:absolute; left:4.5%; top:73.2%; display:grid; gap:.55cqw; font:2.9cqw/1.12 var(--serif); color:#fff9e8; text-transform:uppercase; text-shadow:0 1px 5px #000; }
.poster-cast-names::before { content:""; position:absolute; inset:-12% -10%; background:radial-gradient(ellipse, rgb(0 0 0 / .8),transparent 75%); z-index:-1; }
.poster-cast-names a:hover,.poster-cast-names a:focus-visible { color:#ffd894; text-decoration:underline; text-underline-offset:3px; }
.poster-premiere { position:absolute; top:74.4%; right:3%; display:grid; text-align:center; color:#fff6df; font-family:var(--serif); text-transform:uppercase; background:radial-gradient(ellipse,#000 20%,rgb(0 0 0 / .85) 50%,transparent 75%); padding:1cqw; }
.poster-premiere>span { font-size:3.4cqw; line-height:1.1; }
.poster-premiere strong { font-size:8.8cqw; line-height:1.1; font-weight:400; }
.poster-premiere small { font-size:2.6cqw; margin:0 .5cqw; }
.poster-premiere:hover,.poster-premiere:focus-visible { color:#ffd894; }
.poster-theatre { position:absolute; bottom:4.2%; left:5%; width:90%; text-align:center; font:3.1cqw/1.2 var(--serif); color:#fff9e8; text-shadow:0 2px 5px #000,0 0 14px #000; }
.poster-stage { animation:poster-arrive .8s ease-out both; }
@media(max-height:500px) and (min-width:700px) { .living-poster { padding-top:56px; } .poster-stage { width:min(100%,calc((100svh - 64px)*2/3)); } }
@media(prefers-reduced-motion:reduce) { .poster-stage { animation:none; } .poster-performer { transition:none; } }

/* Blend the reconstructed plate into the surrounding page, avoiding a poster frame. */
.poster-stage-backdrop { mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent); mask-composite:intersect; -webkit-mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent),linear-gradient(to right,transparent,#000 5%,#000 95%,transparent); -webkit-mask-composite:source-in; }
@media(max-width:700px) { .living-poster { align-items:start; } .poster-cast-names { font-size:3.3cqw; gap:.4cqw; } .poster-theatre { font-size:3.3cqw; } }
