/* A horizontal rail of two-sided cards, driven by the complete After Dark album. */
.gallery{height:auto}
.gallery .gallery-stage{position:relative;height:100svh;min-height:660px;background:radial-gradient(ellipse at 50% 42%,#561d31 0%,#260e1b 60%,#170c12 100%)}
.gallery .gallery-word{top:33%;font-size:clamp(7rem,24vw,27rem);opacity:.12;transform:translateX(var(--deck-word-x,0px));transition:none}
.gallery .cards{position:absolute;inset:100px 0 210px;display:block;perspective:1500px;perspective-origin:50% 42%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab;outline-offset:-12px}
.gallery .cards.is-dragging,.gallery .cards.is-dragging .photo-card{cursor:grabbing}
.gallery .photo-card{position:absolute;top:50%;left:50%;width:min(350px,68vw,calc((max(100svh,660px) - 350px)*.68));max-width:none;aspect-ratio:871/1280;padding:0;border:0;border-radius:9px;overflow:visible;background:transparent;box-shadow:none;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform;transition:none;touch-action:pan-y pinch-zoom;cursor:grab;-webkit-user-select:none;user-select:none}
.gallery .photo-card:focus-visible{outline:2px solid #ffcfab;outline-offset:8px}
.gallery .card-one{transform:translate(-50%,-50%);z-index:2}.gallery .card-two{transform:translate(72%,-50%) rotate(3deg);z-index:1}
.card-turn{position:absolute;inset:0;display:block;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform:rotateY(var(--card-turn,0deg));will-change:transform}
.card-two .card-turn{--card-turn:180deg}
.card-face{position:absolute;inset:0;display:block;overflow:hidden;border-radius:9px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 20px 42px #07020b75,0 2px 4px #0006;isolation:isolate}
.card-front{background:#fff;transform:translateZ(1px)}
.card-back{transform:rotateY(180deg) translateZ(1px);border:7px solid #f4e8d4;background-color:#4d1025;background-image:repeating-linear-gradient(45deg,transparent 0 9px,#c997662b 9px 10px,transparent 10px 19px),repeating-linear-gradient(-45deg,transparent 0 9px,#c997662b 9px 10px,transparent 10px 19px);color:#f3d8a7}
.card-back:before{content:'';position:absolute;inset:6px;border:1px solid #dec496;border-radius:3px;pointer-events:none}
.card-back-border{position:absolute;inset:11px;border:1px solid #dec49669;border-radius:2px;pointer-events:none}
.card-back-center{position:absolute;inset:18% 14%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse,#4d1025 20%,#4d1025e8 62%,transparent 72%)}
.gallery .card-back-center img{display:block;width:90%;height:auto;margin:18px 0 8px;filter:drop-shadow(0 1px 1px #1a0515);pointer-events:none}
.card-back-label{font:500 clamp(.75rem,.9vw,.8125rem)/1.7 var(--sans);letter-spacing:.16em}
.card-back-signature{font:italic 500 clamp(1.5rem,3vw,2.6rem)/1.2 var(--serif);margin:0 0 18px;color:#f3d8a7}
.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;font:500 clamp(.75rem,1.3vw,1rem)/1.1 var(--serif);letter-spacing:0;z-index:1}.card-corner>span{font-size:1.35em}.card-corner-top{top:16px;left:16px}.card-corner-bottom{bottom:16px;right:16px;transform:rotate(180deg)}
.card-face:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(115deg,transparent 20%,#fff5 43%,#fff8 49%,#fff2 57%,transparent 78%);transform:translateX(var(--card-sheen,-160%));opacity:.5}
.gallery .card-front>img{display:block;width:100%;height:100%;object-fit:contain;border-radius:9px;pointer-events:none;-webkit-user-drag:none}
.gallery .view-photo{padding:12px 16px;font-size:.75rem;background:#350c20ed;transform:translateY(100%);backface-visibility:hidden}
.gallery .photo-card[data-active=true]:hover .view-photo,.gallery .photo-card[data-active=true]:focus-visible .view-photo{transform:translateY(0)}
.gallery .cards.is-dragging .view-photo{transform:translateY(100%)}
.gallery .photo-caption{display:block;bottom:94px;left:24px;right:24px;text-align:center;pointer-events:none}
.gallery .photo-caption h2{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.12;margin:7px 0 8px;letter-spacing:-.02em}
.gallery #photo-index{font-size:.8125rem;letter-spacing:.15em;color:#f0c6ac}.gallery #photo-details{font-size:.875rem;line-height:1.6}
.deck-controls{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:30px;align-items:center;justify-content:center;width:min(440px,calc(100% - 40px));z-index:5}
.deck-controls button{width:46px;height:46px;flex:0 0 46px;border:1px solid #f3d8a75c;border-radius:4px;font-size:1.5rem;line-height:1;background:#4b183160;transition:background .2s,border-color .2s}
.deck-controls button:hover:not([aria-disabled=true]){background:#793349;border-color:#f3d8a7}.deck-controls button[aria-disabled=true]{opacity:.35;cursor:default}
#deck-hint{font-size:.875rem;line-height:1.5;text-align:center;color:#f5dec9;white-space:nowrap}#deck-hint>span{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}
.gallery .deck-progress{position:absolute;bottom:10px;left:calc(50% - 80px);width:160px;height:2px;background:#fff2}.gallery .deck-progress i{display:block;height:100%;background:#edc4a2;transition:none}
@media(max-width:700px){.gallery{height:auto}.gallery .gallery-top{top:24px;left:24px;right:24px;font-size:.75rem;letter-spacing:.08em}.gallery .gallery-top:before{font-size:.75rem;top:28px}.gallery .cards{inset:96px 0 210px;perspective:1100px}.gallery .photo-card{width:min(300px,66vw,calc((max(100svh,660px) - 350px)*.68))}.gallery .photo-caption h2{font-size:2.45rem}.card-back{border-width:6px}.card-corner-top{top:13px;left:13px}.card-corner-bottom{bottom:13px;right:13px}.card-back-center{inset:17% 13%}.card-back-center img{margin:14px 0 4px}.card-back-label{font-size:.75rem;letter-spacing:.1em}.card-back-signature{font-size:2rem;margin-bottom:14px}.deck-controls{gap:20px}.gallery .view-photo{display:none}}
@media(prefers-reduced-motion:reduce){.gallery{height:auto}.gallery .gallery-stage{position:relative;height:100svh;min-height:660px;padding:0}.gallery .cards{position:absolute;display:block;perspective:none}.gallery .photo-card{transform:translate(-50%,-50%)!important;will-change:auto}.gallery .card-turn{transform:none!important;will-change:auto}.gallery .card-back{display:none}.gallery .photo-card[aria-hidden=true]{visibility:hidden!important}.card-face:after{display:none}.gallery .gallery-word{display:none}.gallery .view-photo{transform:translateY(100%)}.gallery .photo-caption{display:block}}
