/* PX Forward immersive gallery — V6.3 */
:root{--pxf-ease:cubic-bezier(.22,1,.36,1);--pxf-fast:280ms;--pxf-medium:420ms;--pxf-slow:560ms}
body.pxf-style9{overflow-x:hidden;background:#fff}
body.pxf-style9 #header .logo{visibility:hidden}
.pxf-brand{position:fixed;z-index:70;top:clamp(48px,6.5vh,68px);left:50%;transform:translateX(-50%);font:500 clamp(14px,1.12vw,17px)/1.1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.015em;color:#111;text-decoration:none;white-space:nowrap}
.pxf-gallery{height:100vh;min-height:520px;background:#fff;color:#111;overflow:hidden;padding:0;display:grid;grid-template-rows:clamp(124px,19vh,184px) auto 1fr}
.pxf-gallery__heading{display:flex;align-items:flex-end;justify-content:center;padding:0 24px clamp(14px,2vh,22px)}
.pxf-gallery__heading h1{margin:0;font:600 clamp(17px,1.35vw,21px)/1.1 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.025em;text-transform:uppercase}
.pxf-strip-wrap{display:flex;align-items:flex-start;justify-content:center;min-height:0}
.pxf-strip{width:100%;height:clamp(400px,62vh,680px);display:block;overflow-x:auto;overflow-y:visible;padding:0 clamp(22px,3vw,54px);scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;contain:layout style}
.pxf-strip__track{width:max-content;min-width:100%;height:100%;display:flex;align-items:stretch;justify-content:center;gap:clamp(7px,.72vw,12px);margin:0 auto}
.pxf-strip::-webkit-scrollbar{display:none}.pxf-strip:active{cursor:grabbing}
.pxf-strip__item{position:relative;z-index:1;flex:0 0 clamp(34px,3.25vw,54px);height:100%;border:0;padding:0;background:transparent;overflow:visible;cursor:pointer;scroll-snap-align:center;transition:opacity var(--pxf-fast) ease;isolation:isolate}
.pxf-strip__item>.pxf-strip__thumb{position:absolute;inset:0;overflow:hidden;background:#eee}
.pxf-strip__item>.pxf-strip__thumb img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.001);transition:filter var(--pxf-fast) ease,opacity var(--pxf-fast) ease}
.pxf-strip__preview{position:absolute;z-index:8;top:0;left:50%;height:100%;width:100%;transform:translateX(-50%);overflow:hidden;opacity:0;pointer-events:none;background:#eee;box-shadow:0 0 0 1px rgba(0,0,0,.025);transition:width var(--pxf-medium) var(--pxf-ease),opacity 180ms ease}
.pxf-strip__preview img{width:100%;height:100%;display:block;object-fit:cover}
@media (hover:hover) and (pointer:fine){.pxf-strip__item:hover,.pxf-strip__item:focus-visible{z-index:10;outline:none}.pxf-strip__item:hover>.pxf-strip__thumb img,.pxf-strip__item:focus-visible>.pxf-strip__thumb img{opacity:.25}.pxf-strip__item:hover .pxf-strip__preview,.pxf-strip__item:focus-visible .pxf-strip__preview{width:clamp(120px,12.5vw,205px);opacity:1}}
.pxf-viewer{position:fixed;inset:0;z-index:99999;background:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--pxf-medium) ease,visibility 0s linear var(--pxf-medium)}
.pxf-viewer.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--pxf-medium) ease}
.pxf-viewer__stage{position:absolute;inset:0;overflow:hidden}
.pxf-viewer__group{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.05vw,18px);padding:clamp(32px,3.8vh,52px) clamp(28px,3.4vw,58px);opacity:1;transform:translate3d(0,0,0) scale(1);will-change:opacity,transform;transition:opacity var(--pxf-medium) ease,transform var(--pxf-slow) var(--pxf-ease)}
.pxf-viewer__group.is-entering{opacity:0;transform:translate3d(14px,0,0) scale(.992)}
.pxf-viewer__group.is-entering.from-prev{transform:translate3d(-14px,0,0) scale(.992)}
.pxf-viewer__group.is-exiting{opacity:0;transform:translate3d(-14px,0,0) scale(.992);pointer-events:none}
.pxf-viewer__group.is-exiting.to-prev{transform:translate3d(14px,0,0) scale(.992)}
.pxf-viewer__image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;will-change:transform,opacity}
.pxf-viewer__group.is-pair .pxf-viewer__image{max-width:calc(50% - 9px)}
.pxf-viewer__close,.pxf-viewer__nav{position:absolute;z-index:3;border:0;background:transparent;color:#111;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;cursor:pointer;transition:opacity 220ms ease}
.pxf-viewer__close{top:max(16px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));font-size:22px;font-weight:300;line-height:1;opacity:.48;padding:7px}.pxf-viewer__close:hover{opacity:1}
.pxf-viewer__nav{top:50%;transform:translateY(-50%);font-size:30px;font-weight:300;padding:30px 13px;opacity:.48}.pxf-viewer__nav:hover{opacity:1}.pxf-viewer__nav--prev{left:max(4px,env(safe-area-inset-left))}.pxf-viewer__nav--next{right:max(4px,env(safe-area-inset-right))}
.pxf-viewer__count{position:absolute;top:max(21px,env(safe-area-inset-top));right:max(23px,env(safe-area-inset-right));z-index:3;font:400 9px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.07em;opacity:.55}
@media (orientation:portrait){.pxf-viewer__group.is-pair{gap:0}.pxf-viewer__group.is-pair .pxf-viewer__image:nth-child(n+2){display:none}.pxf-viewer__group.is-pair .pxf-viewer__image{max-width:100%}.pxf-strip{height:clamp(380px,62vh,660px)}}
@media (max-width:767px){.pxf-brand{top:max(34px,calc(env(safe-area-inset-top) + 24px));font-size:14px}.pxf-gallery{min-height:100svh;grid-template-rows:minmax(76px,12vh) auto 1fr}.pxf-gallery__heading{padding-bottom:13px}.pxf-gallery__heading h1{font-size:16px}.pxf-strip{height:min(64svh,620px);padding-left:14px;padding-right:14px}.pxf-strip__track{gap:7px}.pxf-strip__item{flex-basis:38px}.pxf-strip__preview{display:none}.pxf-viewer__group{padding:max(42px,calc(env(safe-area-inset-top) + 30px)) max(10px,env(safe-area-inset-right)) max(26px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.pxf-viewer__nav{display:none}}
@media (max-height:650px) and (orientation:landscape){.pxf-brand{top:max(32px,calc(env(safe-area-inset-top) + 18px))}.pxf-gallery{grid-template-rows:108px auto 1fr}.pxf-gallery__heading{padding-bottom:12px}.pxf-strip{height:68vh}.pxf-viewer__group{padding:26px 38px}}
@media (prefers-reduced-motion:reduce){.pxf-strip,.pxf-strip__preview,.pxf-viewer,.pxf-viewer__group,.pxf-viewer__close,.pxf-viewer__nav{scroll-behavior:auto!important;transition:none!important}}
body.pxf-viewer-open{overflow:hidden}
