/* SunoFox original-art exhibition. 3D circular arrangement adapted from Codrops. */
.poster-gallery{padding:48px 0 48px;background:#141416;overflow:hidden;isolation:isolate}
.gallery-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px}
.gallery-heading h2{font-size:clamp(28px,3.4vw,48px);letter-spacing:-.06em}
.gallery-heading .eyebrow{font-size:12px;color:#ffbfa7;margin-bottom:16px}
.gallery-stage{position:relative;max-width:1900px;margin-inline:auto;padding:24px 56px 32px;outline-offset:-6px}
.gallery-ring{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gallery-poster{position:relative;display:block;border-radius:3px;background:#26262a;overflow:hidden;box-shadow:0 18px 42px #0006}
.gallery-poster img{width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#26262a}
.poster-play{position:absolute;left:24px;bottom:24px;display:flex;gap:10px;align-items:center;border:1px solid #fff6;padding:10px 18px;background:#141416eb;border-radius:32px;font-size:14px;color:#fffdf7;pointer-events:none}
.poster-label{position:absolute;right:20px;top:20px;font:700 10px Arial,sans-serif;letter-spacing:.12em;color:#fffdf7;background:#141416dc;padding:7px 9px;pointer-events:none}
.gallery-enhanced .gallery-stage{height:clamp(260px,29vw,420px);perspective:1600px;touch-action:pan-y;cursor:grab;padding:0}
.gallery-enhanced .gallery-stage:active{cursor:grabbing}
.gallery-hit-layer{position:absolute;inset:0;z-index:10;--poster-width:min(46vw,740px);--poster-height:calc(var(--poster-width)*9/16)}
.gallery-hit{position:absolute;top:50%;height:var(--poster-height);transform:translateY(-50%);background:none;padding:0;border:0}
.gallery-hit.previous{left:0;width:calc((100% - var(--poster-width))/2);cursor:pointer}
.gallery-hit.next{right:0;width:calc((100% - var(--poster-width))/2);cursor:pointer}
.gallery-hit.open{left:calc((100% - var(--poster-width))/2);width:var(--poster-width);cursor:pointer;border-radius:3px}
.gallery-hit.open:focus-visible{outline:3px solid #ffbfa7;outline-offset:6px}
.gallery-enhanced .gallery-ring{position:absolute;inset:0;display:block;transform-style:preserve-3d}
.gallery-enhanced .gallery-poster{position:absolute;left:50%;top:50%;width:min(46vw,740px);aspect-ratio:16/9;transform-origin:center;backface-visibility:hidden;will-change:transform}
.gallery-ready .gallery-poster{transition:transform .24s cubic-bezier(.22,.75,.25,1),opacity .24s,filter .24s}
.gallery-enhanced .gallery-poster:not(.is-current){filter:brightness(.62)}
.gallery-enhanced .gallery-poster:not(.is-current) .poster-play,.gallery-enhanced .gallery-poster:not(.is-current) .poster-label{opacity:0}
.gallery-enhanced .gallery-poster.is-current{cursor:pointer}
.gallery-enhanced .gallery-poster:focus-visible{outline:3px solid #ffbfa7;outline-offset:6px}
.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:4px 0 16px;border-bottom:1px solid #ffffff24}
.poster-gallery:not(.gallery-enhanced) .gallery-toolbar,.poster-gallery:not(.gallery-enhanced) .gallery-selectors{display:none}
.gallery-hint{font-size:13px;color:#aaa8a5}
.gallery-navigation{display:flex;align-items:center;gap:16px}
.gallery-navigation button{display:grid;place-items:center;grid-auto-flow:column;gap:8px;min-width:82px;height:44px;padding:0 12px;background:#fffdf7;border:1px solid #fffdf7;border-radius:6px;color:#141416;font-size:13px}
.gallery-navigation button:hover{background:#ffbfa7;color:#141416}
.gallery-navigation svg{width:20px;height:20px}
.gallery-position{min-width:60px;text-align:center;font:500 12px Arial,sans-serif;letter-spacing:.1em;color:#ccc8c3}
.gallery-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:24px 0;min-height:180px}
.gallery-work-label{font-size:11px!important;letter-spacing:.1em!important;margin-bottom:12px!important}
.gallery-work-title{font-size:clamp(30px,3.5vw,52px);line-height:1.35;letter-spacing:-.06em}
.gallery-work-english{font:400 18px/1.5 Arial,sans-serif;margin-top:10px;color:#aaa8a5}
.gallery-summary{font-size:15px;line-height:1.85;color:#ccc8c3;word-break:keep-all;max-width:490px}
.gallery-actions{display:flex;align-items:center;gap:24px;margin-top:22px}
.gallery-listen{display:inline-flex;align-items:center;gap:8px;color:#fffdf7;min-height:44px;border-color:#ffffff60}
.gallery-selectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.gallery-selector{border-top:2px solid #ffffff2e;color:#aaa8a5;background:none;text-align:left;padding:16px 0 10px;min-height:74px;font-size:15px;line-height:1.6;word-break:keep-all}
.gallery-selector[aria-pressed=true]{border-color:#ff5a00;color:#fffdf7}
.selector-date{display:block;color:#aaa8a5;font:400 11px Arial,sans-serif;margin-bottom:6px}
.page-music .poster-gallery{margin-bottom:64px}
.gallery-poster.image-missing:before{content:attr(data-title);position:absolute;inset:0;display:grid;place-items:center;padding:24px;font-size:24px;color:#fffdf7}
@media(min-width:1700px){.gallery-enhanced .gallery-stage{height:460px}}
@media(max-width:960px){.poster-gallery{padding:60px 0 48px}.gallery-enhanced .gallery-stage{height:34vw;min-height:250px}.gallery-enhanced .gallery-poster{width:60vw}.gallery-hit-layer{--poster-width:60vw}.gallery-detail{gap:28px;min-height:180px}.gallery-selectors{gap:16px}.poster-play{left:16px;bottom:16px}}
@media(max-width:760px){.gallery-heading{align-items:flex-start;margin-bottom:24px}.gallery-heading .line-link{font-size:12px;margin-top:28px}.gallery-heading .eyebrow{font-size:10px;letter-spacing:.07em}.gallery-heading h2{font-size:28px}.gallery-enhanced .gallery-stage{height:58vw;min-height:210px}.gallery-enhanced .gallery-poster{width:82vw}.gallery-toolbar{padding:6px 0 20px;gap:12px}.gallery-hint{font-size:11px;max-width:145px;line-height:1.6}.gallery-navigation{gap:8px}.gallery-position{min-width:50px;font-size:11px}.gallery-detail{grid-template-columns:1fr;gap:22px;min-height:330px;padding:28px 0}.gallery-work-title{font-size:32px}.gallery-work-english{font-size:15px}.gallery-work-label{font-size:10px!important}.gallery-summary{font-size:14px}.gallery-actions{margin-top:18px;gap:20px}.gallery-selectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}.gallery-selector{font-size:13px;min-height:70px}.poster-play{left:12px;bottom:12px;font-size:11px;padding:8px 12px;gap:6px}.poster-play svg{width:16px}.poster-label{right:12px;top:12px;font-size:8px;padding:5px 6px}.gallery-ring{grid-template-columns:1fr 1fr}.gallery-stage{padding:0 24px}.page-music .poster-gallery{margin-bottom:20px}}
@media(max-width:380px){.gallery-heading .line-link{font-size:11px}.gallery-heading h2{font-size:25px}.gallery-hint{max-width:110px}.gallery-detail{min-height:355px}.gallery-work-title{font-size:29px}}
@media(max-width:760px){.gallery-hit-layer{--poster-width:82vw}}
@media(prefers-reduced-motion:reduce){.gallery-enhanced .gallery-poster{transition:none;will-change:auto}}

/* 1.1.0: labeled navigation and compact, responsive artwork details. */
.gallery-navigation button span{font-weight:600}
.gallery-actions{flex-wrap:wrap;row-gap:12px}
@media(max-width:760px){.gallery-heading{flex-wrap:wrap;gap:12px}.gallery-heading .line-link{margin-top:0}.gallery-detail{min-height:0;padding:22px 0;gap:16px}.gallery-summary{font-size:15px}.gallery-navigation{gap:6px}.gallery-navigation button{min-width:64px;padding:0 9px}.gallery-navigation svg{width:16px}.gallery-hint{max-width:125px}.gallery-work-label{font-size:12px!important}.gallery-actions{gap:12px 20px}}
@media(max-width:380px){.gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-hint{max-width:none}.gallery-navigation{align-self:flex-end}}

.gallery-work-details{display:inline-flex;align-items:center;min-height:44px}
