.gallery-page .gallery-intro{position:relative;padding-bottom:54px}.gallery-page .gallery-intro .journey-link{display:inline-flex;align-items:center;gap:28px;padding:9px 10px 9px 25px;border:1px solid #ffffff30;border-radius:100px;background:linear-gradient(115deg,#ffffff0c,transparent);color:#fff;position:relative;overflow:hidden;min-height:66px;text-decoration:none;box-shadow:0 12px 35px #0005}.journey-link>span{display:grid;gap:4px;position:relative;z-index:1}.journey-link small{font-size:9px;letter-spacing:.2em;font-weight:500;color:#b5b5b5}.journey-link strong{font-size:16px}.journey-link b{display:grid;place-items:center;width:48px;height:48px;background:gold;color:#000;border-radius:50%;font-size:25px;position:relative;z-index:1;transition:transform .4s}.journey-link:before{content:"";position:absolute;top:-100%;right:-30%;bottom:-100%;left:-30%;background:linear-gradient(110deg,transparent 44%,#ffffff20 50%,transparent 56%);animation:collection-light 5s ease-in-out infinite;pointer-events:none}.journey-link:hover b{transform:rotate(45deg)}.gallery-page .gallery-toolbar{display:grid;grid-template-columns:1fr auto;gap:20px;padding:26px 0 0;border-top:1px solid #ffffff25;border-bottom:0;margin-bottom:40px}.collection-label{font:500 10px var(--sans);letter-spacing:.22em;color:#aaa;display:flex;align-items:center;gap:12px}.collection-label:before{content:"";height:5px;width:5px;background:gold;border-radius:50%;box-shadow:0 0 14px #ffd70080}.gallery-page #gallery-count{font-size:11px;letter-spacing:.04em;color:#aaa;text-align:right}.gallery-page .gallery-filters{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid #ffffff20}.gallery-page .gallery-filters button{position:relative;border:0;border-radius:0;min-height:76px;padding:12px 16px 24px 0;text-align:left;background:transparent;color:#aaa;font-size:clamp(14px,1.7vw,21px);font-weight:600;white-space:nowrap;transition:color .3s}.gallery-page .gallery-filters button span{display:inline-block;vertical-align:super;font-size:10px;font-weight:400;margin-left:6px;color:#888}.gallery-page .gallery-filters button:after{content:"";position:absolute;bottom:-1px;left:0;right:16px;height:2px;background:gold;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.gallery-page .gallery-filters button[aria-pressed=true]{color:#fff;background:transparent}.gallery-page .gallery-filters button[aria-pressed=true] span{color:gold}.gallery-page .gallery-filters button[aria-pressed=true]:after{transform:scaleX(1);box-shadow:0 0 16px #ffd70055}.gallery-page .gallery-filters button:hover{color:#fff}.gallery-page .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.gallery-page .photo-grid .photo-card{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.gallery-page .photo-card .photo-open{border-radius:16px;background:radial-gradient(ellipse at center,#242424,#080808);isolation:isolate;box-shadow:0 18px 45px #0005}.gallery-page .photo-card .photo-open img{aspect-ratio:4/3;background:transparent;transition:filter .5s,opacity .55s}.gallery-page .photo-card .photo-open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid #ffffff20;border-radius:inherit;pointer-events:none;background:linear-gradient(150deg,#ffffff08,transparent 35%);transition:border-color .4s}.gallery-page .photo-card .photo-open:hover:after{border-color:#ffd70080}.gallery-page .photo-expand{opacity:1;transform:none;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:#080808a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;border:1px solid #ffffff70;box-shadow:0 4px 20px #0004;transition:background .3s,color .3s,transform .3s}.gallery-page .photo-open:hover .photo-expand{background:gold;border-color:gold;color:#000;transform:rotate(45deg)}.gallery-page .photo-card figcaption{position:relative;min-height:0;padding:21px 0 0 43px;gap:7px;background:transparent;border:0}.gallery-page .photo-card figcaption:before{content:attr(data-index);position:absolute;left:0;top:22px;color:gold;font-size:10px;letter-spacing:.1em}.gallery-page .photo-card figcaption>span{color:#aaa;font-size:9px;letter-spacing:.2em;font-weight:500}.gallery-page .photo-card figcaption strong{font-size:20px;letter-spacing:-.02em;font-weight:650;line-height:1.3}.gallery-page .photo-open:focus-visible,.gallery-page .gallery-filters button:focus-visible,.gallery-page .journey-link:focus-visible{outline:2px solid #FFD700;outline-offset:5px}@keyframes collection-light{0%,25%{transform:translate(-65%)}75%,to{transform:translate(65%)}}@media(min-width:1100px){.gallery-page .photo-grid .photo-card:nth-child(4n+2){padding-top:65px}.gallery-page .photo-grid .photo-card:nth-child(4n+3){padding-right:35px}.gallery-page .photo-grid .photo-card:nth-child(4n+4){padding-left:35px}}@media(max-width:600px){.gallery-page .gallery-intro{padding-bottom:35px}.gallery-page .gallery-toolbar{gap:12px;margin-bottom:28px;padding-top:22px}.gallery-page .gallery-filters button{padding-right:4px;min-height:67px;font-size:13px}.gallery-page .gallery-filters button span{font-size:9px;margin-left:3px}.gallery-page .gallery-filters button:after{right:10px}.gallery-page .photo-grid{grid-template-columns:1fr;gap:38px}.gallery-page .photo-card .photo-open img{aspect-ratio:auto}.gallery-page .photo-card figcaption strong{font-size:20px}.gallery-page .photo-card .photo-open{border-radius:12px}.collection-label{font-size:9px;letter-spacing:.13em}.gallery-page #gallery-count{font-size:10px}}@media(prefers-reduced-motion:reduce){.journey-link:before{animation:none}.gallery-page .gallery-filters button:after,.journey-link b,.gallery-page .photo-expand{transition:none}}.gallery-page #gallery-count{grid-column:2;grid-row:1}.gallery-page .gallery-filters{grid-row:2}.gallery-page .photo-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 40%,#202020,#080808 65%);box-shadow:none;padding:0;color:#fff}.gallery-page .photo-dialog::backdrop{background:#000}.gallery-page .lightbox-toolbar{height:90px;padding:0 40px;border:0;position:relative;background:transparent}.gallery-page .lightbox-toolbar:after{content:"";position:absolute;bottom:0;left:40px;right:40px;height:1px;background:linear-gradient(to right,#FFD700 var(--photo-progress,0%),#ffffff18 var(--photo-progress,0%));transition:background .4s}.gallery-page .lightbox-count{font:500 12px var(--sans);letter-spacing:.2em;color:#fff;display:flex;align-items:center;gap:25px}.gallery-page .lightbox-count:before{content:"ROYAL BUS RIDE / THE COLLECTION";font-size:9px;letter-spacing:.17em;color:#aaa}.gallery-page .lightbox-close{border:0;background:none;border-radius:0;padding:12px 0 12px 20px;font:500 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#fff}.gallery-page .lightbox-close:hover{background:transparent;color:gold}.gallery-page .lightbox-stage{padding:26px 40px 0;grid-template-columns:58px minmax(0,1fr) 58px;gap:28px}.gallery-page .lightbox-stage figure{gap:22px}.gallery-page .lightbox-stage img{filter:drop-shadow(0 18px 30px #0007)}.gallery-page .lightbox-stage figcaption{font-size:clamp(20px,2.4vw,30px);letter-spacing:-.035em;line-height:1.25;font-weight:600}.gallery-page .lightbox-stage figcaption:before{content:attr(data-category);display:block;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:gold;margin-bottom:10px;font-weight:400}.gallery-page .lightbox-prev,.gallery-page .lightbox-next{border:1px solid #ffffff35;border-radius:50%;width:58px;height:58px;min-width:0;min-height:0;background:#ffffff04;font-size:23px;font-weight:400;transition:background .3s,border-color .3s,transform .3s}.gallery-page .lightbox-prev:hover,.gallery-page .lightbox-next:hover{background:gold;border-color:gold;color:#000;transform:scale(1.08)}.gallery-page .lightbox-hint{padding:18px 20px 23px;color:#888;font-size:10px;letter-spacing:.09em}@media(max-width:650px){.gallery-page .lightbox-toolbar{height:72px;padding:0 20px}.gallery-page .lightbox-toolbar:after{left:20px;right:20px}.gallery-page .lightbox-count{gap:10px;font-size:10px}.gallery-page .lightbox-count:before{content:"THE COLLECTION";font-size:8px;letter-spacing:.1em}.gallery-page .lightbox-stage{padding:20px 16px 0;grid-template-columns:1fr;gap:0}.gallery-page .lightbox-stage figure{padding-bottom:76px;gap:22px}.gallery-page .lightbox-prev,.gallery-page .lightbox-next{width:48px;height:48px;bottom:9px}.gallery-page .lightbox-prev{left:calc(50% - 60px)}.gallery-page .lightbox-next{right:calc(50% - 60px)}.gallery-page .lightbox-hint{padding:10px 15px 18px;font-size:9px}}@media(prefers-reduced-motion:reduce){.gallery-page .lightbox-prev,.gallery-page .lightbox-next{transition:none}}.gallery-page .photo-expand{animation:collection-control-glow 5s ease-in-out infinite}.gallery-page .photo-card:nth-child(3n+2) .photo-expand{animation-delay:1.5s}.gallery-page .photo-card:nth-child(3n+3) .photo-expand{animation-delay:3s}.gallery-page .gallery-filters button[aria-pressed=true]:after{background:linear-gradient(90deg,#ffd70030,gold,#ffd70030);background-size:200% 100%;animation:collection-track 3s ease-in-out infinite alternate}.gallery-page .photo-dialog[open]{animation:collection-view-enter .4s ease-out}.gallery-page .photo-dialog[open] .lightbox-prev,.gallery-page .photo-dialog[open] .lightbox-next{animation:collection-control-glow 4s ease-in-out infinite}.gallery-page .photo-dialog[open] .lightbox-next{animation-delay:2s}.gallery-page .lightbox-close{transition:color .3s,text-shadow .3s}.gallery-page .lightbox-close:hover{text-shadow:0 0 15px #FFD70070}@keyframes collection-control-glow{0%,to{box-shadow:0 0 #ffd70000;border-color:#ffffff45}50%{box-shadow:0 0 20px 1px #ffd70018;border-color:#ffd70080}}@keyframes collection-track{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes collection-view-enter{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.gallery-page .photo-expand,.gallery-page .gallery-filters button[aria-pressed=true]:after,.gallery-page .photo-dialog[open],.gallery-page .photo-dialog[open] .lightbox-prev,.gallery-page .photo-dialog[open] .lightbox-next{animation:none}}
