.flux-gallery{--ink:#f1eee7;--muted:rgba(241,238,231,.55);min-height:100vh;overflow:hidden;background:#080808;color:var(--ink);padding:clamp(5rem,8vw,8rem) 4vw 4rem}
.flux-gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;max-width:1600px;margin:0 auto 2rem}
.flux-gallery-head span,.flux-gallery-head p{font-size:.7rem;line-height:1.7;letter-spacing:.1em;color:var(--muted)}
.flux-gallery-head h2{max-width:14ch;margin:.6rem 0 0;font-size:clamp(2rem,4vw,5rem);font-weight:500;line-height:.95;letter-spacing:-.05em}.flux-gallery-head p{margin:0;text-align:right}
.flux-viewport{position:relative;height:min(74vh,790px);min-height:570px;max-width:1700px;margin:auto;overflow:hidden;perspective:1500px;cursor:default;outline:none}.flux-viewport:focus-visible{outline:1px solid rgba(241,238,231,.6)}
.flux-flip-grid{position:absolute;inset:0 0 4.5rem;transform-style:preserve-3d}
.flux-flip-card{position:absolute;top:50%;left:50%;width:clamp(260px,min(27vw,48vh),430px);aspect-ratio:3/4;transform-origin:center;border:0;border-radius:22px;background:transparent;color:inherit;padding:0;cursor:pointer;will-change:transform,opacity}
.flux-card-motion,.flux-flip-inner{position:absolute;inset:0;display:block;border-radius:inherit;will-change:transform}.flux-card-motion{transform-style:preserve-3d;transform-origin:center}.flux-flip-inner{transform:rotateY(0deg);transform-style:preserve-3d}
.flux-face{position:absolute;inset:0;display:block;overflow:hidden;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 2.4rem 6rem rgba(0,0,0,.48)}
.flux-front,.flux-back{background:#151514}.flux-front:after,.flux-back:after{content:"";position:absolute;z-index:1;inset:57% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.76));pointer-events:none}.flux-front img,.flux-back img{display:block;width:100%;height:100%;object-fit:contain;background:#151514}
.flux-caption{position:absolute;right:1rem;bottom:1rem;left:1rem;z-index:2;display:flex;gap:.8rem;align-items:flex-end;text-align:left;font-size:.8rem;line-height:1.25}.flux-caption i,.flux-back i{font-style:normal;font-size:.58rem;letter-spacing:.12em;color:rgba(255,255,255,.54)}
.flux-back{transform:rotateY(180deg);text-align:left}.flux-back-label{position:absolute;right:1rem;bottom:1rem;left:1rem;z-index:2;display:flex;gap:.8rem;align-items:flex-end}.flux-back strong{font-size:.8rem;font-weight:500;line-height:1.25;color:#fff}
.flux-controls{position:absolute;right:0;bottom:.5rem;left:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:1.25rem}.flux-controls button{width:2.9rem;height:2.9rem;border:1px solid rgba(241,238,231,.24);border-radius:50%;color:var(--ink)}.flux-controls button:hover{background:var(--ink);color:#080808}.flux-controls span{min-width:4rem;font-size:.68rem;letter-spacing:.12em;color:var(--muted)}.flux-controls b{font-weight:500;color:var(--ink)}
.flux-flip-card.is-near,.flux-flip-card.is-active{cursor:pointer}
@media(max-width:700px){.flux-gallery{padding:4rem 1rem 3rem}.flux-gallery-head{align-items:flex-start}.flux-gallery-head p{max-width:11rem}.flux-viewport{height:70vh;min-height:530px}.flux-flip-card{width:min(70vw,330px)}}
html[data-motion="reduced"] .flux-flip-card,html[data-motion="reduced"] .flux-flip-inner{transition:none!important}
