/* Original full-viewport photo tunnel. Portrait prints travel through depth. */
.perspective-gallery{position:relative;height:190svh;overflow:visible;background:#303f2e}
.perspective-gallery .tunnel-stage{position:sticky;top:var(--header-height);height:calc(100svh - var(--header-height));min-height:0;width:100%;margin:0;padding:0;display:block;overflow:hidden;perspective:1100px;perspective-origin:50% 50%;background:#303f2e;border:0}
.perspective-gallery .tunnel-heading{position:absolute;left:50%;top:50%;width:min(520px,46%);max-width:none;padding:0;margin:0;transform:translate(-50%,-50%);text-align:center;z-index:10;pointer-events:none}
.perspective-gallery .tunnel-heading h2{font-family:var(--display);font-size:clamp(42px,4vw,65px);line-height:1.04;letter-spacing:-1.6px;margin:22px 0;color:#f4ecd9;text-shadow:0 1px 6px #303f2e}
.perspective-gallery .tunnel-heading .eyebrow{font-size:9px;letter-spacing:1.9px;color:#c2aa78}
.perspective-gallery .tunnel-heading>p:not(.eyebrow){font-size:11px;line-height:1.8;margin:18px auto;color:#c8ccb5;max-width:320px}
.perspective-gallery .tunnel-heading>.text-link{font-size:10px;pointer-events:auto;color:#f2e8cf;border-color:#8f9c76}
.perspective-gallery .tunnel-plane{position:absolute;inset:0;display:block;transform-style:preserve-3d;pointer-events:none}
.perspective-gallery .tunnel-card{position:absolute;left:50%;top:50%;display:block;width:clamp(160px,19vw,270px);height:auto;aspect-ratio:4/5;max-width:none;margin:0;border:4px solid #eee7d5;overflow:hidden;background:#f5f0e7;box-shadow:0 12px 26px #14211133;transform-style:preserve-3d;backface-visibility:hidden;transform-origin:center;will-change:transform,opacity;transition:none;opacity:0;visibility:visible;pointer-events:auto}
.perspective-gallery .tunnel-card img{position:static;display:block;width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center;transform:none;border-radius:0}
.perspective-gallery .tunnel-card>span{position:absolute;left:0;right:0;bottom:0;display:block;padding:25px 12px 12px;background:linear-gradient(transparent,rgba(41,56,31,.8));color:#fdf8e9;font-family:var(--sans);font-size:9px;line-height:1.6;letter-spacing:.2px;white-space:normal}
.perspective-gallery .tunnel-bottom{position:absolute;left:6%;right:6%;bottom:22px;display:flex;justify-content:space-between;gap:25px;width:auto;margin:0;padding:0;border:0;font-size:8px;line-height:1.8;color:#b2b99b;letter-spacing:.4px;z-index:11}
.perspective-gallery .tunnel-bottom>span:first-child{display:block;max-width:300px}
.perspective-gallery .tunnel-card:focus-visible{outline:3px solid #cfb47c;outline-offset:4px}
@media(max-width:700px){
 .perspective-gallery{height:190svh}
 .perspective-gallery .tunnel-heading{position:absolute;left:50%;top:50%;width:72%;text-align:center;margin:0;transform:translate(-50%,-50%)!important;opacity:1!important}
 .perspective-gallery .tunnel-heading h2{font-size:clamp(33px,8vw,43px);line-height:1.04;letter-spacing:-1px}
 .perspective-gallery .tunnel-heading>p:not(.eyebrow){font-size:10px;max-width:230px;margin-inline:auto}
 .perspective-gallery .tunnel-card{position:absolute;left:50%;top:50%;width:155px;border-width:3px;aspect-ratio:4/5;transform:var(--tunnel-transform)!important}
 .perspective-gallery .tunnel-card>span{font-size:8px;padding:22px 8px 9px}
 .perspective-gallery .tunnel-bottom{font-size:7px;bottom:17px;gap:20px}
 .perspective-gallery .tunnel-bottom>span:first-child{max-width:195px}
}
/* A complete, accessible gallery if motion is disabled or JS does not load. */
.perspective-gallery:not([data-motion=ready]){height:auto}
.perspective-gallery:not([data-motion=ready]) .tunnel-stage{position:relative;top:0;height:auto;padding:55px 6%;perspective:none}
.perspective-gallery:not([data-motion=ready]) .tunnel-heading{position:static;width:100%;transform:none!important;margin-bottom:32px}
.perspective-gallery:not([data-motion=ready]) .tunnel-plane{position:static;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.perspective-gallery:not([data-motion=ready]) .tunnel-card{position:relative;left:auto;top:auto;width:100%;opacity:1!important;transform:none!important;will-change:auto}
.perspective-gallery:not([data-motion=ready]) .tunnel-bottom{position:static;margin-top:28px}
@media(max-width:700px){.perspective-gallery:not([data-motion=ready]) .tunnel-plane{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
.perspective-gallery[data-motion=ready] .tunnel-card{transform:var(--tunnel-transform)!important;opacity:var(--tunnel-opacity,0)!important}
