.gallery-heading{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:10%;padding:65px 4.5% 50px}.gallery-heading h1{font-size:clamp(3.5rem,7vw,7rem);margin-bottom:0}.gallery-heading p{max-width:37ch}.gallery-exhibition{margin:0 2% 0;background:#20241f;color:#f5f1e8;border-radius:5px;overflow:hidden}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:26px 3%;border-bottom:1px solid #ffffff20}.gallery-toolbar .eyebrow{margin:0;color:#c4c9b8}.gallery-toolbar>div{display:flex;align-items:center;gap:16px}.gallery-toolbar label{font-size:.75rem;color:#c4c9b8}.gallery-toolbar select{background:#292e27;color:var(--paper);border:1px solid #707667;border-radius:3px;padding:10px 35px 10px 12px;font-size:.875rem;max-width:300px}.gallery-stage{height:580px;position:relative;overflow:hidden;perspective:1300px;touch-action:pan-y;cursor:grab;background:radial-gradient(ellipse at 50% 42%,#636a4c55,transparent 60%),#20241f}.gallery-stage.dragging{cursor:grabbing}.gallery-space{position:absolute;left:50%;top:45%;transform-style:preserve-3d;transform:translateX(var(--drag,0px));transition:transform .2s}.gallery-frame{--spread:330px;position:absolute;left:0;top:0;width:320px;transform-style:preserve-3d;transform:translate(-50%,-50%) translateX(calc(var(--slot) * var(--spread))) translateZ(calc(var(--depth) * -190px)) rotateY(calc(var(--slot) * -22deg));border:0;padding:12px;background:#ece9df;color:var(--ink);box-shadow:12px 16px 0 #090d0990,0 30px 50px #0007;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .5s;filter:brightness(calc(1 - var(--depth) * .16));backface-visibility:hidden;text-align:left}.gallery-frame[hidden]{display:none}.gallery-frame[aria-current=true]{outline:1px solid #f15b2570;outline-offset:8px}.gallery-frame:focus-visible{outline:3px solid var(--orange);outline-offset:8px}.gallery-mat{display:block;overflow:hidden;background:#333}.gallery-frame img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;pointer-events:none;user-select:none}.gallery-plaque{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 4px 6px}.gallery-plaque b{font-family:var(--display);text-transform:uppercase;font-size:1.25rem;line-height:1}.gallery-plaque>span{font-size:.75rem;line-height:1.3;text-align:right}.gallery-floor{position:absolute;left:-50%;width:200%;height:400px;top:69%;transform:rotateX(75deg);transform-origin:center top;background:repeating-linear-gradient(90deg,#f15b2522 0 1px,transparent 1px 120px),repeating-linear-gradient(0deg,#f15b2522 0 1px,transparent 1px 85px);mask-image:linear-gradient(transparent,#000 35%,transparent);pointer-events:none}.gallery-orbit-label{position:absolute;top:32px;left:0;right:0;text-align:center;font-size:.75rem;letter-spacing:.22em;color:#949e86}.gallery-drag-hint{position:absolute;bottom:30px;left:0;right:0;text-align:center;font-size:.75rem;color:#bfc6b5;letter-spacing:.05em;pointer-events:none}.gallery-controls{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:30px;padding:28px 3%;border-top:1px solid #ffffff25}.gallery-step{display:flex;align-items:center;gap:18px}.gallery-step button{border-radius:50%;height:46px;width:46px;border:1px solid #858d78;background:transparent;color:var(--paper);font-size:1.3rem}.gallery-step button:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}#gallery-position{font-size:.875rem;font-variant-numeric:tabular-nums;white-space:nowrap}.gallery-current{text-align:center}.gallery-current h2{font-size:2.75rem;margin:0 0 6px}.gallery-current p{font-size:.875rem;margin:0;color:#bbc3ae}.gallery-controls>.button{justify-self:end}.gallery-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px 3% 24px;font-size:.75rem;color:#bbc3ae}.gallery-bottom p{margin:0}.gallery-motion{display:flex;align-items:center;gap:8px;white-space:nowrap}.gallery-motion input{accent-color:var(--orange);width:17px;height:17px}.gallery-after{text-align:center;padding:75px 5% 90px}.gallery-after p{font-family:var(--display);font-size:clamp(2rem,4vw,4rem);font-weight:700;line-height:1.1;text-transform:uppercase;margin:0 auto 30px}.gallery-exhibition button:focus-visible,.gallery-exhibition select:focus-visible,.gallery-stage:focus-visible{outline:3px solid #ffa775;outline-offset:4px}
@media(max-width:950px){.gallery-heading{gap:5%;grid-template-columns:1fr 1fr}.gallery-controls{gap:20px}.gallery-step{gap:10px}.gallery-current h2{font-size:2rem}.gallery-controls>.button{padding:13px 18px;gap:15px}.gallery-toolbar label{display:none}.gallery-frame{--spread:290px}}
@media(max-width:650px){.gallery-heading{display:block;padding:40px 5%}.gallery-heading h1{font-size:3.9rem;margin-bottom:25px}.gallery-heading p{font-size:.95rem}.gallery-exhibition{margin:0;border-radius:0}.gallery-toolbar{display:block;padding:20px 5%}.gallery-toolbar .eyebrow{margin-bottom:15px}.gallery-toolbar>div{display:block}.gallery-toolbar select{max-width:100%;width:100%}.gallery-stage{height:450px;perspective:1000px}.gallery-frame{width:245px;--spread:230px;padding:9px}.gallery-plaque b{font-size:1.1rem}.gallery-plaque{padding:14px 3px 5px}.gallery-controls{display:flex;flex-wrap:wrap;justify-content:space-between;padding:22px 5%}.gallery-current{order:-1;width:100%;text-align:left;margin-bottom:4px}.gallery-current h2{font-size:2.5rem}.gallery-step{gap:10px}.gallery-step button{width:40px;height:40px}.gallery-controls>.button{font-size:.75rem;padding:11px 15px}.gallery-bottom{display:block;padding:0 5% 28px}.gallery-bottom p{margin-bottom:16px}.gallery-orbit-label{letter-spacing:.09em;font-size:.75rem}.gallery-after{padding:55px 5%}}
.gallery-heading{padding-top:38px;padding-bottom:38px}.gallery-heading h1{font-size:clamp(3.3rem,5vw,5rem)}.gallery-stage{height:520px}@media(max-width:650px){.gallery-heading h1{font-size:3.2rem}.gallery-heading{padding-top:30px;padding-bottom:30px}.gallery-stage{height:450px}}
@media(prefers-reduced-motion:reduce){.gallery-frame{transition:none!important;transform:translate(-50%,-50%) translateX(calc(var(--slot) * var(--spread))) translateZ(calc(var(--depth) * -190px)) rotateY(calc(var(--slot) * -22deg))!important}.gallery-floor{transform:rotateX(75deg)!important}.gallery-frame img{transform:none!important}}
