.featured-gallery{padding-block:clamp(4rem,10vh,8rem)}.carousel{margin-top:clamp(2rem,5vh,3rem)}.carousel__stage{scrollbar-width:none;overflow:auto hidden}.carousel__stage::-webkit-scrollbar{display:none}.carousel:not(.is-3d) .carousel__ring{gap:var(--space-md);padding-inline:clamp(1.5rem,6vw,6rem);display:flex}.carousel:not(.is-3d) .carousel__item{aspect-ratio:3/4;cursor:pointer;background:0 0;border:0;flex:none;width:clamp(16rem,26vw,22rem);padding:0}.carousel.is-3d .carousel__stage{perspective:1800px;perspective-origin:50% 38%;touch-action:pan-y;cursor:grab;height:clamp(30rem,82vh,54rem);position:relative;overflow:visible}.carousel.is-3d.is-dragging .carousel__stage{cursor:grabbing}.carousel.is-3d .carousel__ring{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.carousel.is-3d .carousel__item{aspect-ratio:3/4;will-change:transform;pointer-events:none;background:0 0;border:0;width:clamp(9rem,15vw,14rem);margin:0;padding:0;position:absolute;top:50%;left:50%}.carousel.is-3d .carousel__item>img{object-fit:cover;border:var(--border-width) solid var(--hairline);width:100%;height:100%;box-shadow:0 24px 50px -18px rgb(var(--ink-rgb) / .75);filter:saturate(.98)contrast(1.03);transition:filter .35s var(--ease-out), border-color .35s var(--ease-out), box-shadow .35s var(--ease-out);display:block}.carousel.is-3d .carousel__item[data-active]>img{border-color:var(--hairline-brass);box-shadow:0 30px 64px -18px rgb(var(--ink-rgb) / .85);filter:saturate(1.04)contrast(1.05)brightness(1.03)}.carousel__item-cap{text-align:left;background:linear-gradient(to top, rgb(var(--ink-rgb) / .88) 0%, rgb(var(--ink-rgb) / .55) 45%, transparent 100%);opacity:0;transition:opacity .35s var(--ease-out), transform .35s var(--ease-out);pointer-events:none;flex-direction:column;gap:.15em;padding:2.6em .85em .7em;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(.4rem)}.carousel__item-cap .cap-src{font-family:var(--font-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--accent-lit);font-size:clamp(.6rem,1.2vw,.72rem)}.carousel__item-cap .cap-moment{font-family:var(--font-display);font-style:italic;font-weight:var(--display-weight);color:var(--bone);font-size:clamp(.85rem,1.6vw,1.05rem);line-height:1.1}.carousel.is-3d .carousel__item[data-active] .carousel__item-cap{opacity:1;transform:translateY(0)}.carousel.is-3d.is-dragging--x .carousel__stage{cursor:grabbing}.carousel.is-3d.is-dragging--y .carousel__stage{cursor:ns-resize}.carousel.is-3d .carousel__hint{z-index:1500;white-space:nowrap;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.2em;color:color-mix(in oklab, var(--bone) 62%, var(--umber));text-shadow:0 1px 8px rgb(var(--ink-rgb) / .9);pointer-events:none;opacity:0;animation:carousel-hint-in .7s var(--ease-out) 1s forwards;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);margin:0;font-size:clamp(.56rem,1vw,.66rem);position:absolute;bottom:clamp(1rem,4vh,2.5rem);left:clamp(1rem,4vw,2.5rem)}.carousel__hint span{color:color-mix(in oklab, var(--accent-lit) 88%, var(--bone))}.carousel__hint i{color:var(--accent);margin:0 .5em;font-style:normal}@keyframes carousel-hint-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.carousel.hint-gone .carousel__hint,.carousel.hint-out .carousel__hint{opacity:0;animation:none;transform:translateY(.5rem)}@media (prefers-reduced-motion:reduce){.carousel.is-3d .carousel__hint{opacity:1;animation:none}.carousel.hint-gone .carousel__hint,.carousel.hint-out .carousel__hint{opacity:0}}.carousel.is-3d .carousel__caption{display:none}.carousel.is-flat .carousel__stage{perspective:none;cursor:default;touch-action:auto;height:auto;overflow:visible}.carousel.is-flat .carousel__ring{transform-style:flat;gap:var(--space-lg);pointer-events:auto;grid-template-columns:1fr;padding-inline:clamp(1rem,5vw,2rem);display:grid;position:static;inset:auto}.carousel.is-flat .carousel__item{aspect-ratio:4/5;will-change:auto;pointer-events:none;background:0 0;border:0;width:100%;margin:0;padding:0;position:relative;top:auto;left:auto}.carousel.is-flat .carousel__item>img{object-fit:cover;border:var(--border-width) solid var(--hairline);width:100%;height:100%;box-shadow:0 16px 34px -16px rgb(var(--ink-rgb) / .7);display:block}.carousel.is-flat .carousel__item-cap{opacity:1;transition:none;transform:none}.carousel.is-flat .carousel__caption{display:none}