/* Independent ribbon-gallery experiment. Transparent over the existing sage field. */
.drift-wall-stage{position:relative;width:100vw;height:710px;margin:1rem calc(50% - 50vw) 2rem}
.drift-wall{position:relative;width:100%;height:100%;overflow:hidden;background:transparent!important;touch-action:pan-y;isolation:isolate;perspective:1400px;cursor:grab;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;
 mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent),linear-gradient(transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
.ribbon-gallery__plane{position:absolute;inset:0;transform-style:preserve-3d;transition:opacity .38s ease,filter .38s ease;pointer-events:none}
.ribbon-gallery__row{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none}
.ribbon-awaiting-entrance .ribbon-gallery__row{opacity:0}
@media(prefers-reduced-motion:reduce){.ribbon-awaiting-entrance .ribbon-gallery__row{opacity:1}}
.drift-wall .drift-wall__tile{all:unset;position:absolute;top:0;left:0;display:block;overflow:hidden;border-radius:10px;background:transparent;cursor:pointer;pointer-events:auto;will-change:transform;backface-visibility:hidden;box-shadow:0 3px 12px #152e201a;user-select:none;-webkit-user-select:none}
.drift-wall__tile img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.drift-wall .drift-wall__tile.is-bending{overflow:visible;transform-style:preserve-3d;background:none;box-shadow:none}
.ribbon-gallery__segment{position:absolute;top:0;display:block;overflow:hidden;pointer-events:none;transform-origin:50% 50%;backface-visibility:hidden}
.drift-wall__tile:focus-visible{outline:3px solid #fff7d6;outline-offset:3px}
.drift-wall.is-dragging,.drift-wall.is-dragging *{cursor:grabbing!important}
.drift-wall.is-switching .ribbon-gallery__plane{opacity:0;filter:blur(10px)}
.drift-wall.is-arriving .ribbon-gallery__plane{animation:ribbon-arrive .85s cubic-bezier(.22,1,.36,1)}
@keyframes ribbon-arrive{from{opacity:0;filter:blur(12px)}to{opacity:1;filter:blur(0)}}
#homeView #photography>#photographyGrainient{z-index:0;pointer-events:none}
#homeView #photography>.drift-wall-stage{position:relative;z-index:2;isolation:isolate}
.drift-gallery-bar{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-top:clamp(1.25rem,3vw,2rem)}
#photography .drift-gallery-picker{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none;border-radius:28px;max-width:min(100%,1100px)}
#photography .drift-gallery-picker::-webkit-scrollbar{display:none}
#photography .drift-gallery-picker .filter{flex:0 0 auto;min-width:0;padding:10px 15px;white-space:nowrap}
.drift-gallery-caption{margin:0;font-size:.78rem;letter-spacing:.06em;color:#374b3c;opacity:.85}
.drift-gallery-caption .text-link{margin-left:.35rem}
.drift-wall-hint{text-align:center;margin:-.75rem 0 0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;opacity:.62}
.drift-wall-hint .hint-touch{display:none}
@media(hover:none){.drift-wall-hint .hint-hover{display:none}.drift-wall-hint .hint-touch{display:inline}}
@media(max-width:700px){.drift-wall-stage{height:580px}#photography .drift-gallery-picker{max-width:calc(100vw - 2rem);border-radius:999px}}
@media(prefers-reduced-motion:reduce){.ribbon-gallery__plane{transition:none}.drift-wall.is-arriving .ribbon-gallery__plane{animation:none}.drift-wall .drift-wall__tile{will-change:auto}}
