.wlp-view-more { display: flex; justify-content: center; margin-top: 58px; }
.wlp-view-more .wlp-page-button { margin-top: 0; }
.wlp-orbit .wlp-view-more { position: relative; z-index: 10; margin-top: 42px; }
.wlp-view-more .wlp-more-card { position: relative; display: grid; grid-template-columns: 156px 1fr 48px; gap: 24px; align-items: center; width: min(720px,100%); min-height: 148px; padding: 20px 24px; overflow: visible; color: #343631; border: 2px solid #4d7fbd; border-radius: 18px; background: rgba(255,254,250,.96); box-shadow: 8px 9px #d5e6f6; text-decoration: none; transition: transform .28s var(--ease),box-shadow .28s var(--ease),background .28s ease; }
.wlp-view-more .wlp-more-card:hover,.wlp-view-more .wlp-more-card:focus-visible { transform: translateY(-5px); box-shadow: 11px 14px #c9def3; background: #fffdf5; }
.wlp-more-card__photos { position: relative; display: block; height: 94px; }
.wlp-more-card__photos span { position: absolute; top: 5px; left: 36px; width: 82px; height: 82px; padding: 4px 4px 17px; border: 1px solid rgba(52,54,49,.18); background: #fff; box-shadow: 3px 4px rgba(52,54,49,.09); transform: rotate(0); transition: transform .38s var(--ease); }
.wlp-more-card__photos span:first-child { left: 4px; transform: rotate(-7deg); }
.wlp-more-card__photos span:last-child { left: 68px; transform: rotate(7deg); }
.wlp-more-card:hover .wlp-more-card__photos span:first-child { transform: translateX(-8px) rotate(-10deg); }
.wlp-more-card:hover .wlp-more-card__photos span:last-child { transform: translateX(8px) rotate(10deg); }
.wlp-more-card__photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wlp-more-card__photos i { position: absolute; right: 5px; bottom: 2px; color: #777970; font: 400 .42rem var(--mono); font-style: normal; }
.wlp-more-card__copy { display: grid; gap: 7px; }
.wlp-more-card__copy small { color: #4d7fbd; font: 400 .52rem var(--mono); letter-spacing: .1em; }
.wlp-more-card__copy strong { font: 700 1.05rem var(--title); }
.wlp-more-card__copy em { color: #777970; font-size: .7rem; font-style: normal; }
.wlp-more-card > b { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #ffe25e; font: 400 1.1rem var(--mono); transition: transform .28s var(--ease); }
.wlp-more-card:hover > b { transform: translateX(4px); }
.wlp-more-card__claw { position: absolute; z-index: 3; top: -42px; left: 50%; width: 44px; height: 48px; transform: translateX(-50%); animation: wlp-more-claw 4.8s ease-in-out infinite; }
.wlp-more-card__claw::before { position: absolute; top: 0; left: 50%; width: 14px; height: 13px; border: 2px solid #4d7fbd; border-radius: 4px; background: #ffe25e; content: ""; transform: translateX(-50%); }
.wlp-more-card__claw i { position: absolute; top: 11px; left: 50%; width: 3px; height: 34px; border-radius: 3px; background: #4d7fbd; transform-origin: top; }
.wlp-more-card__claw i:first-child { transform: rotate(31deg); }
.wlp-more-card__claw i:nth-child(2) { transform: translateX(-50%); }
.wlp-more-card__claw i:last-child { transform: rotate(-31deg); }
.wlp-more-card:hover .wlp-more-card__claw { animation-play-state: paused; transform: translate(-50%,9px); transition: transform .3s var(--ease); }
@keyframes wlp-more-claw { 0%,72%,100% { transform: translate(-50%,0); } 82% { transform: translate(-50%,8px); } }
@media(min-width:781px){#location .wlp-locations article:nth-child(even){margin-top:68px;transform:none}}
.wlp-gallery-page__head { background: linear-gradient(135deg,#dff3f7 0%,#fff9d8 55%,#ffd9e5 100%); }
.wlp-gallery-page__body { padding-top: 76px; padding-bottom: 120px; }
.wlp-gallery-filter { position: sticky; z-index: 20; top: 78px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding-top: 18px; padding-bottom: 18px; background: rgba(255,254,250,.94); backdrop-filter: blur(10px); }
.wlp-gallery-filter a { padding: 9px 17px; color: #343631; border: 1px solid rgba(77,127,189,.45); border-radius: 999px; background: #fffefa; font: 400 .65rem var(--mono); text-decoration: none; }
.wlp-gallery-group { scroll-margin-top: 150px; margin-bottom: 100px; }
.wlp-gallery-group > header { display: flex; align-items: baseline; gap: 22px; margin-bottom: 28px; border-bottom: 1px solid rgba(56,58,53,.18); }
.wlp-gallery-group > header p { color: #4d7fbd; font: 400 .62rem var(--mono); letter-spacing: .12em; }
.wlp-gallery-group > header h2 { margin: 0 0 18px; font: 900 clamp(1.8rem,3vw,2.8rem) var(--head); }
.wlp-gallery-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.wlp-gallery-card { position: relative; overflow: hidden; aspect-ratio: 3 / 2; padding: 0; border: 0; border-radius: 10px; background: #f2eee6; box-shadow: 6px 7px rgba(184,216,241,.35); cursor: zoom-in; }
.wlp-gallery-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s var(--ease); }
.wlp-gallery-card:hover img { transform: scale(1.035); }
.wlp-gallery-card small { position: absolute; right: 10px; bottom: 9px; padding: 5px 8px; color: #343631; background: rgba(255,254,250,.9); font: 400 .52rem var(--mono); }
.wlp-gallery-back { display: inline-flex; margin-top: 30px; color: #343631; font: 700 .76rem var(--title); text-decoration: none; }
.wlp-gallery-lightbox[hidden] { display: none; }
.wlp-gallery-lightbox { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 30px; }
.wlp-gallery-lightbox > div[data-gallery-close] { position: absolute; inset: 0; background: rgba(20,22,28,.88); cursor: zoom-out; }
.wlp-gallery-lightbox > button { position: fixed; z-index: 3; top: 20px; right: 22px; width: 48px; height: 48px; color: #fff; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; background: rgba(20,22,28,.5); font-size: 1.8rem; cursor: pointer; }
.wlp-gallery-lightbox figure { position: relative; z-index: 2; max-width: min(1200px,92vw); max-height: 88vh; margin: 0; }
.wlp-gallery-lightbox img { display: block; max-width: 100%; max-height: 82vh; width: auto; height: auto; margin: auto; object-fit: contain; }
.wlp-gallery-lightbox figcaption { margin-top: 10px; color: #fff; text-align: center; font: 400 .65rem var(--mono); }
.wlp-gallery-lightbox__nav { position: fixed; z-index: 4; right: 50%; bottom: 24px; display: grid; grid-template-columns: 52px 96px 52px; align-items: center; overflow: hidden; color: #343631; border: 2px solid #4d7fbd; border-radius: 999px; background: rgba(255,254,250,.96); box-shadow: 5px 6px #ffe25e; transform: translateX(50%); }
.wlp-gallery-lightbox__nav button { width: 52px; height: 48px; padding: 0; color: #343631; border: 0; background: transparent; font: 400 1.05rem var(--mono); cursor: pointer; transition: background .2s ease,transform .2s ease; }
.wlp-gallery-lightbox__nav button:hover { background: #dff3f7; transform: translateX(-2px); }
.wlp-gallery-lightbox__nav button:last-child:hover { transform: translateX(2px); }
.wlp-gallery-lightbox__nav span { text-align: center; font: 400 .62rem var(--mono); letter-spacing: .08em; }
.wlp-gallery-lightbox img.is-from-right { animation: wlp-lightbox-from-right .34s var(--ease); }
.wlp-gallery-lightbox img.is-from-left { animation: wlp-lightbox-from-left .34s var(--ease); }
@keyframes wlp-lightbox-from-right { from { opacity: .25; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }
@keyframes wlp-lightbox-from-left { from { opacity: .25; transform: translateX(-24px); } to { opacity: 1; transform: translateX(0); } }
.wlp-lightbox-open { overflow: hidden; }
@media(max-width:780px){.wlp-view-more{margin-top:54px}.wlp-view-more .wlp-more-card{grid-template-columns:105px 1fr 36px;gap:12px;min-height:124px;padding:15px 13px;border-radius:14px}.wlp-more-card__photos{height:78px}.wlp-more-card__photos span{left:25px;width:64px;height:72px;padding:3px 3px 15px}.wlp-more-card__photos span:first-child{left:0}.wlp-more-card__photos span:last-child{left:48px}.wlp-more-card__copy small{font-size:.39rem}.wlp-more-card__copy strong{font-size:.82rem;line-height:1.45}.wlp-more-card__copy em{font-size:.58rem;line-height:1.5}.wlp-more-card>b{width:34px;height:34px}.wlp-more-card__claw{top:-38px;transform:translateX(-50%) scale(.86)}#location .wlp-locations article:nth-child(even){margin-top:0}.wlp-gallery-filter{top:65px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.wlp-gallery-page__body{padding-top:48px;padding-bottom:90px}.wlp-gallery-group{margin-bottom:72px}.wlp-gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.wlp-gallery-card{border-radius:7px;box-shadow:4px 5px rgba(184,216,241,.35)}.wlp-gallery-lightbox{padding:14px 14px 82px}.wlp-gallery-lightbox>button{top:12px;right:12px}.wlp-gallery-lightbox img{max-height:72vh}.wlp-gallery-lightbox__nav{bottom:18px;grid-template-columns:48px 82px 48px}.wlp-gallery-lightbox__nav button{width:48px;height:44px}}
@media(prefers-reduced-motion:reduce){.wlp-more-card__claw,.wlp-gallery-lightbox img{animation:none}}

/* Amusement-style gallery pages */
.wlp-gallery-page { background-image: linear-gradient(rgba(79,95,90,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(79,95,90,.09) 1px,transparent 1px); background-size: 52px 52px; }
.wlp-gallery-page__head { position: relative; overflow: hidden; }
.wlp-gallery-page__head::after { position: absolute; right: 8%; bottom: -58px; width: 150px; height: 150px; border: 18px solid rgba(255,255,255,.55); border-radius: 50%; content: ""; }
.wlp-gallery-machine { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: end; min-height: 250px; margin-top: 42px; padding: 120px 45px 35px; overflow: hidden; border: 2px solid #4d7fbd; border-radius: 24px; background: rgba(255,254,250,.92); box-shadow: 12px 14px rgba(255,210,103,.5); }
.wlp-gallery-machine__rail { position: absolute; top: 30px; right: 8%; left: 8%; height: 7px; border: 2px solid #4d7fbd; border-radius: 10px; background: #ffe092; }
.wlp-gallery-machine__rail > b { position: absolute; top: -17px; left: 50%; display: flex; align-items: center; justify-content: center; gap: 6px; width: 84px; height: 42px; border: 3px solid #4d7fbd; border-radius: 14px; background: #ffe25e; transform: translateX(-50%); animation: wlp-gallery-crane 5s ease-in-out infinite alternate; }
.wlp-gallery-machine__rail > b::before { position: absolute; top: -13px; width: 29px; height: 12px; border: 3px solid #4d7fbd; border-bottom: 0; border-radius: 9px 9px 0 0; content: ""; }
.wlp-gallery-machine__rail > b span { width: 8px; height: 8px; border: 2px solid #4d7fbd; border-radius: 50%; background: #ff7ca4; }
.wlp-gallery-machine__rail > i { position: absolute; top: 7px; left: 50%; height: 70px; border-left: 3px solid #4d7fbd; animation: wlp-gallery-cable 5s ease-in-out infinite alternate; }
.wlp-gallery-machine__rail > em { position: absolute; top: 69px; left: calc(50% - 30px); width: 60px; height: 42px; background: linear-gradient(#4d7fbd,#4d7fbd) center top / 5px 38px no-repeat,linear-gradient(58deg,transparent 44%,#4d7fbd 45% 55%,transparent 56%) left top / 28px 42px no-repeat,linear-gradient(-58deg,transparent 44%,#4d7fbd 45% 55%,transparent 56%) right top / 28px 42px no-repeat; animation: wlp-gallery-claw 5s ease-in-out infinite alternate; }
.wlp-gallery-machine small { color: #4d7fbd; font: 400 .65rem var(--mono); letter-spacing: .12em; }
.wlp-gallery-machine strong { display: block; margin-top: 10px; font: 900 clamp(1.5rem,3vw,2.35rem)/1.35 var(--head); }
.wlp-gallery-machine button { display: flex; align-items: center; gap: 18px; min-height: 72px; padding: 0 23px; color: #343631; border: 2px solid #4d7fbd; border-radius: 13px; background: #ff8db1; box-shadow: 6px 7px #ffe25e; font: 700 .78rem var(--title); cursor: pointer; }
.wlp-gallery-machine button span { font: 400 .6rem var(--mono); }
.wlp-gallery-machine button b { font-size: 1.25rem; }
.wlp-gallery-machine.is-catching .wlp-gallery-machine__rail > b,.wlp-gallery-machine.is-catching .wlp-gallery-machine__rail > i,.wlp-gallery-machine.is-catching .wlp-gallery-machine__rail > em { animation-duration: .7s; animation-iteration-count: 1; }
@keyframes wlp-gallery-crane { from { left: 28%; } to { left: 72%; } }
@keyframes wlp-gallery-cable { from { left: 28%; height: 55px; } to { left: 72%; height: 82px; } }
@keyframes wlp-gallery-claw { from { left: calc(28% - 30px); top: 54px; } to { left: calc(72% - 30px); top: 81px; } }
.wlp-gallery-filter a { padding: 11px 19px; border: 2px solid #4d7fbd; border-radius: 999px 999px 8px 8px; box-shadow: 0 4px #ffe25e; }
.wlp-gallery-filter a:nth-child(2n) { background: #dff3b3; }
.wlp-gallery-filter a:nth-child(3n) { background: #ffd0df; }
.wlp-gallery-grid { grid-template-columns: repeat(4,1fr); grid-auto-flow: dense; grid-auto-rows: 150px; gap: 18px; padding: 24px; border: 1px solid rgba(77,127,189,.35); border-radius: 22px; background: rgba(255,254,250,.86); box-shadow: 10px 12px rgba(184,216,241,.32); }
.wlp-gallery-card { min-height: 0; aspect-ratio: auto; border: 4px solid #fff; box-shadow: 4px 5px rgba(70,82,120,.14); }
.wlp-gallery-card:nth-child(9n+1),.wlp-gallery-card:nth-child(9n+6) { grid-column: span 2; grid-row: span 2; }
.wlp-gallery-card:nth-child(9n+4) { grid-row: span 2; }
.wlp-gallery-card:nth-child(6n+2) { transform: rotate(-1.2deg); }
.wlp-gallery-card:nth-child(7n+3) { transform: rotate(1.1deg); }
@media(max-width:780px){.wlp-gallery-machine{grid-template-columns:1fr;gap:22px;min-height:285px;margin-top:24px;padding:120px 20px 25px;border-radius:18px}.wlp-gallery-machine button{justify-content:center;width:100%;min-height:62px}.wlp-gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:112px;gap:9px;padding:10px;border-radius:14px}.wlp-gallery-card{border-width:2px}.wlp-gallery-card:nth-child(9n+1),.wlp-gallery-card:nth-child(9n+6){grid-column:span 2;grid-row:span 2}}
@media(prefers-reduced-motion:reduce){.wlp-gallery-machine__rail>*{animation:none!important}}
