/* Shared orbital motion, quieter photo-only cards for destination pages. */
.album-orbit{overflow:hidden;overflow:clip;isolation:isolate}
.album-orbit .album-heading{position:relative;z-index:2;margin-bottom:12px}
.album-total{font-size:12px;color:#66745b;white-space:nowrap}
.album-scene{position:relative;margin:0 -3%;isolation:isolate}
.album-scene::after{content:'';position:absolute;left:34%;right:34%;height:24px;bottom:35px;background:#324c2e20;border-radius:50%;filter:blur(18px);z-index:-1;pointer-events:none}
.album-arc{position:absolute;inset:0;width:100%;height:100%;stroke:#a6b2998c;stroke-width:1;pointer-events:none}
.album-arc path+path{stroke:#a6b29955;stroke-dasharray:3 7}
.album-orbit .album-track{display:block;position:relative;height:390px;perspective:1200px;overflow:visible;scroll-snap-type:none;padding:0;touch-action:pan-y;user-select:none;cursor:grab;outline-offset:-4px}
.album-orbit .album-track:active{cursor:grabbing}
.album-orbit .album-frame{position:absolute;left:50%;top:24px;width:clamp(290px,34vw,440px);margin:0;padding:9px;border:1px solid #ffffffe0;border-radius:18px;background:#fcfcf6;box-shadow:0 5px 10px #23391c08,0 24px 38px -15px #23391c40;transform-origin:50% 55%;backface-visibility:hidden;overflow:hidden}
.album-orbit .album-track[data-moving=true] .album-frame{will-change:transform,opacity}
.album-orbit .album-photo{aspect-ratio:1.45;border-radius:11px;outline-offset:-4px}
.album-orbit .album-photo img,.album-orbit .album-photo:hover img{transform:none;transition:none}
.album-orbit .album-photo-number{font-size:11px;background:#fafbf2ee;box-shadow:none}
.album-orbit .album-zoom{height:36px;width:36px;opacity:0;transition:opacity 180ms}
.album-orbit .is-current .album-zoom{opacity:1}
.album-caption{text-align:center;position:relative;z-index:2;max-width:660px;margin:0 auto 24px;min-height:90px;padding:0 16px}
.album-caption>p{font-size:17px;font-weight:500;color:#293525;line-height:1.6;margin:0 0 9px;text-wrap:balance}
.album-caption>div{display:flex;justify-content:center;gap:5px 18px;flex-wrap:wrap;font-size:11px;color:#65715c;line-height:1.7;overflow-wrap:anywhere}
.album-caption a{text-decoration:underline;text-decoration-color:#acb6a1;text-underline-offset:4px}
.album-caption a:hover{color:#343fc8}
.album-navigation{display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:18px}
.album-progress{height:2px;flex:1;background:#d5ddce;overflow:hidden;max-width:300px;margin-left:auto}
.album-progress span{height:100%;display:block;background:#657858;transition:width .3s}
.album-navigation .album-controls>span{display:block;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:53px;margin:0 3px 0 0}
.album-navigation .album-controls button{width:44px;height:44px}
.album-orbit .album-hint{text-align:center;font-size:11px;margin-top:18px;letter-spacing:.03em}
.album-orbit #album-play:disabled{opacity:.5;cursor:default}
@media(max-width:720px){
 .album-orbit{padding-top:30px;padding-bottom:36px}.album-orbit .album-heading{gap:10px;margin-bottom:8px}.album-heading h2{font-size:23px}.album-total{font-size:10px}
 .album-scene{margin:0 -7%}.album-orbit .album-track{height:clamp(255px,72vw,345px);perspective:900px}
 .album-orbit .album-frame{width:clamp(220px,69vw,330px);top:22px;padding:7px;border-radius:14px}.album-orbit .album-photo{aspect-ratio:1.35;border-radius:9px}.album-orbit .album-photo-number{left:10px;top:10px;font-size:10px;padding:4px 7px}.album-orbit .album-zoom{width:31px;height:31px;right:10px;bottom:10px;font-size:21px}
 .album-scene::after{left:24%;right:24%;bottom:20px;height:18px}.album-caption{padding:0 8px;min-height:102px;margin-bottom:15px}.album-caption>p{font-size:15px;margin-bottom:7px}.album-caption>div{font-size:10px;gap:4px 10px}
 .album-navigation{gap:12px;padding-top:15px}.album-progress{max-width:90px}.album-navigation .album-controls{gap:6px}.album-navigation .album-controls>span{font-size:11px;min-width:42px;margin:0}.album-navigation .album-controls button{width:40px;height:40px}.album-navigation .gallery-play{font-size:11px;gap:6px}
}
@media(max-width:370px){.album-progress{display:none}.album-navigation .album-controls{margin-left:auto}.album-total{display:none}}
.reduce-motion .album-progress span,.reduce-motion .album-zoom{transition:none}
@media(prefers-reduced-motion:reduce){.album-progress span,.album-zoom{transition:none}}
