/* Readable festival comments; no text baked into artwork. */
.festival-voices{margin-top:90px;padding-top:64px;border-top:1px solid var(--line);scroll-margin-top:110px}
.voices-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:36px}
.voices-heading h2{font-family:var(--serif);font-size:clamp(30px,4.2vw,58px);letter-spacing:-.04em;margin-top:14px;font-weight:400}
.voices-heading>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:280px}
.festival-voices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.festival-voice{margin:0;min-width:0;border-top:1px solid var(--line);padding:25px 0 30px;display:flex;flex-direction:column}
.voice-quote-mark{font-family:Georgia,serif;color:var(--accent);font-size:65px;line-height:.9;height:44px;display:block}
.festival-voice blockquote{margin:0 0 26px;font-family:var(--serif);font-size:clamp(20px,1.9vw,27px);line-height:1.75;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:break-word}
.festival-voice blockquote p{margin:0}
.festival-voice figcaption{margin-top:auto;color:var(--accent);font-size:11px;line-height:1.6;letter-spacing:.035em}
.voices-archive{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:4px}
.voices-archive>summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;list-style:none;padding:22px 0;min-height:64px;font-size:13px}
.voices-archive>summary::-webkit-details-marker{display:none}
.voices-archive>summary:after{content:'＋';font-size:23px;color:var(--accent)}
.voices-archive[open]>summary:after{content:'−'}
.voices-archive>summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.voices-originals{padding-bottom:24px}
.voice-original{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2.4fr);gap:40px;padding:28px 0;border-top:1px solid var(--line)}
.voice-original h3{font-size:13px;line-height:1.7;font-weight:500;color:var(--accent)}
.voice-original blockquote{margin:0;max-width:780px;font-size:15px;line-height:1.9;color:var(--paper);overflow-wrap:break-word}
.voice-original p{margin:0}
@media(max-width:700px){.festival-voices{margin-top:55px;padding-top:42px}.voices-heading{display:block;margin-bottom:28px}.voices-heading>p{margin-top:18px}.festival-voices-grid{grid-template-columns:1fr;gap:0}.festival-voice{padding:25px 0 28px}.festival-voice blockquote{font-size:23px;margin-bottom:18px}.voice-original{grid-template-columns:1fr;gap:12px;padding:24px 0}.voice-original blockquote{font-size:14px}.voice-quote-mark{height:37px;font-size:56px}}
