/* Prime Creation // Page 04 full-viewport gallery */
body.prime-v2 #portfolio{
  --page04-cyan:#65e8ff;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:.28rem .28rem max(5.4rem,calc(var(--prime-pill-height,3.4rem) + 1.55rem))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:y proximity!important;
  scroll-padding-bottom:max(5.4rem,calc(var(--prime-pill-height,3.4rem) + 1.55rem))!important;
  background:linear-gradient(155deg,#050c18,#02060d)!important;
}

body.prime-v2 #portfolio>.portfolio-head,
body.prime-v2 #portfolio>.gallery-tools,
body.prime-v2 #portfolio>.page04-console,
body.prime-v2 #portfolio>[data-page04-console],
body.prime-v2 #portfolio #galleryFilters,
body.prime-v2 #portfolio #galleryNote,
body.prime-v2 #portfolio [data-page04-search],
body.prime-v2 #portfolio [data-page04-query-state],
body.prime-v2 #portfolio [data-page04-console-metrics]{display:none!important}

body.prime-v2 #portfolio>.page04-signage{
  position:sticky!important;
  z-index:12!important;
  top:.14rem!important;
  display:flex!important;
  align-items:center!important;
  gap:.38rem!important;
  width:max-content!important;
  max-width:calc(100% - .5rem)!important;
  min-height:1.85rem!important;
  margin:0 0 .28rem!important;
  padding:.28rem .42rem!important;
  border:1px solid rgba(113,229,252,.12)!important;
  border-radius:.56rem!important;
  background:rgba(3,10,18,.84)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
body.prime-v2 #portfolio>.page04-signage>b{color:#eaffff!important;font:900 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.06em!important}
body.prime-v2 #portfolio>.page04-signage>i{width:1.2rem!important;height:1px!important;background:linear-gradient(90deg,var(--page04-cyan),transparent)!important}
body.prime-v2 #portfolio>.page04-signage>span{color:#b9edf5!important;font:850 .47rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.12em!important}
body.prime-v2 #portfolio>.page04-signage>em{margin-left:.25rem!important;color:#698c96!important;font:750 .39rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;font-style:normal!important;letter-spacing:.06em!important;white-space:nowrap!important}

body.prime-v2 #portfolio>#gallery,
body.prime-v2 #portfolio>.gallery-rails{
  display:grid!important;
  gap:.42rem!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.prime-v2 #portfolio .gallery-group{
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  width:100%!important;
  height:calc(var(--pf-content-h,100dvh) - var(--prime-pill-height,3.4rem) - 2.4rem)!important;
  min-height:26rem!important;
  max-height:calc(var(--pf-content-h,100dvh) - var(--prime-pill-height,3.4rem) - 1.4rem)!important;
  gap:.32rem!important;
  margin:0!important;
  padding:.36rem!important;
  overflow:hidden!important;
  border:1px solid rgba(116,226,249,.085)!important;
  border-radius:.72rem!important;
  background:rgba(5,13,23,.7)!important;
  box-shadow:none!important;
  scroll-snap-align:start!important;
}
body.prime-v2 #portfolio .gallery-group::before{display:none!important}

body.prime-v2 #portfolio .gallery-group-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.55rem!important;
  min-height:2.8rem!important;
  margin:0!important;
  padding:.08rem .08rem .12rem!important;
}
body.prime-v2 #portfolio .gallery-group-head>[data-page04-title],
body.prime-v2 #portfolio .gallery-group-head>div:first-child{display:block!important;min-width:0!important}
body.prime-v2 #portfolio .gallery-group-head h3{
  margin:0!important;
  overflow:hidden!important;
  color:#effcff!important;
  font-size:clamp(.76rem,1.45vw,1rem)!important;
  font-weight:720!important;
  letter-spacing:-.015em!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.prime-v2 #portfolio .gallery-group-head span:not([data-page04-count]),
body.prime-v2 #portfolio .gallery-group-head p,
body.prime-v2 #portfolio .gallery-group-head small{display:none!important}

body.prime-v2 #portfolio .page04-direct-controls,
body.prime-v2 #portfolio .gallery-rail-controls{display:flex!important;align-items:center!important;gap:.32rem!important;flex:0 0 auto!important}
body.prime-v2 #portfolio .page04-direct-controls>button,
body.prime-v2 #portfolio .gallery-rail-controls>button{
  display:grid!important;
  place-items:center!important;
  width:2.8rem!important;
  height:2.8rem!important;
  min-width:2.8rem!important;
  min-height:2.8rem!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(115,229,252,.2)!important;
  border-radius:.68rem!important;
  background:rgba(74,211,241,.055)!important;
  color:#ebfdff!important;
  font-size:1rem!important;
  touch-action:manipulation!important;
}
body.prime-v2 #portfolio .page04-direct-controls>button:is(:hover,:focus-visible),
body.prime-v2 #portfolio .gallery-rail-controls>button:is(:hover,:focus-visible){border-color:rgba(105,235,255,.55)!important;background:rgba(75,221,250,.12)!important;outline:0!important}
body.prime-v2 #portfolio .page04-direct-controls>button:disabled,
body.prime-v2 #portfolio .gallery-rail-controls>button:disabled{opacity:.24!important}
body.prime-v2 #portfolio [data-page04-count]{min-width:3.4rem!important;color:#83a7b0!important;font:800 .45rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.05em!important;text-align:center!important}

body.prime-v2 #portfolio .gallery-rail{
  position:relative!important;
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:100%!important;
  gap:.42rem!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
  touch-action:pan-x pinch-zoom!important;
}
body.prime-v2 #portfolio .gallery-rail::-webkit-scrollbar{display:none!important}
body.prime-v2 #portfolio .gallery-rail-card.gallery-item,
body.prime-v2 #portfolio .gallery-rail-card{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  margin:0!important;
  padding:clamp(.18rem,.8vw,.5rem)!important;
  overflow:hidden!important;
  border:1px solid rgba(126,226,247,.09)!important;
  border-radius:.66rem!important;
  background:#02060c!important;
  box-shadow:none!important;
  scroll-snap-align:start!important;
  transform:none!important;
  transition:border-color .16s ease!important;
}
body.prime-v2 #portfolio .gallery-rail-card.gallery-item::after,
body.prime-v2 #portfolio .gallery-rail-card::after{display:none!important}
body.prime-v2 #portfolio .gallery-rail-card:is(:hover,:focus-visible){border-color:rgba(108,235,255,.34)!important;outline:0!important}
body.prime-v2 #portfolio .gallery-rail-card>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
}
body.prime-v2 #portfolio .gallery-rail-card:is(:hover,:focus-visible)>img{transform:none!important}
body.prime-v2 #portfolio .gallery-meta{display:none!important}

body.prime-v2 #lightbox{
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  max-height:none!important;
  margin:0!important;
  padding:max(.55rem,env(safe-area-inset-top)) max(.55rem,env(safe-area-inset-right)) max(.55rem,env(safe-area-inset-bottom)) max(.55rem,env(safe-area-inset-left))!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(1,5,10,.98)!important;
}
body.prime-v2 #lightbox::backdrop{background:rgba(0,0,0,.84)!important}
body.prime-v2 #lightbox>img{display:block!important;width:100%!important;height:calc(100% - 5.2rem)!important;object-fit:contain!important;object-position:center!important}
body.prime-v2 #lightbox>div:not(.page04-lightbox-controls){position:absolute!important;left:1rem!important;bottom:1rem!important;max-width:60vw!important}
body.prime-v2 #lightbox>div:not(.page04-lightbox-controls) p{display:none!important}
body.prime-v2 #lightbox>div:not(.page04-lightbox-controls) h2{margin:0!important;color:#dff8fb!important;font-size:.72rem!important;font-weight:650!important}
body.prime-v2 #lightbox .close{position:absolute!important;z-index:5!important;top:max(.6rem,env(safe-area-inset-top))!important;right:max(.6rem,env(safe-area-inset-right))!important;width:3rem!important;height:3rem!important;min-width:3rem!important;min-height:3rem!important;border-radius:50%!important}
body.prime-v2 #lightbox .page04-lightbox-controls{position:absolute!important;z-index:6!important;left:50%!important;bottom:max(.7rem,env(safe-area-inset-bottom))!important;display:flex!important;align-items:center!important;gap:.55rem!important;transform:translateX(-50%)!important}
body.prime-v2 #lightbox .page04-lightbox-controls>button{width:3.2rem!important;height:3.2rem!important;min-width:3.2rem!important;min-height:3.2rem!important;border:1px solid rgba(115,231,253,.24)!important;border-radius:.78rem!important;background:rgba(8,22,31,.92)!important;color:#ecfdff!important;font-size:1.05rem!important}
body.prime-v2 #lightbox .page04-lightbox-controls>span{min-width:4.4rem!important;color:#a5c8ce!important;font:800 .52rem/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;text-align:center!important}

@media(max-width:680px){
  body.prime-v2 #portfolio{padding:.18rem .16rem max(4.7rem,calc(var(--prime-pill-height,3.08rem) + 1.2rem))!important}
  body.prime-v2 #portfolio>.page04-signage{top:.08rem!important;margin-bottom:.18rem!important;min-height:1.6rem!important;padding:.22rem .34rem!important}
  body.prime-v2 #portfolio>.page04-signage>em{display:none!important}
  body.prime-v2 #portfolio .gallery-group{height:calc(var(--pf-content-h,100dvh) - var(--prime-pill-height,3.08rem) - 1.85rem)!important;min-height:22rem!important;padding:.24rem!important;border-radius:.58rem!important}
  body.prime-v2 #portfolio .gallery-group-head{min-height:2.65rem!important;padding:.04rem!important}
  body.prime-v2 #portfolio .gallery-group-head h3{font-size:.72rem!important}
  body.prime-v2 #portfolio .page04-direct-controls>button,
  body.prime-v2 #portfolio .gallery-rail-controls>button{width:2.7rem!important;height:2.7rem!important;min-width:2.7rem!important;min-height:2.7rem!important}
  body.prime-v2 #portfolio [data-page04-count]{min-width:3rem!important;font-size:.42rem!important}
  body.prime-v2 #portfolio .gallery-rail-card{padding:.12rem!important;border-radius:.5rem!important}
  body.prime-v2 #lightbox>div:not(.page04-lightbox-controls){display:none!important}
}

@media(max-height:520px) and (orientation:landscape){
  body.prime-v2 #portfolio .gallery-group{height:calc(100dvh - var(--prime-pill-height,3rem) - 1.5rem)!important;min-height:17rem!important}
  body.prime-v2 #portfolio .gallery-group-head{min-height:2.35rem!important}
}

@media(prefers-reduced-motion:reduce){
  body.prime-v2 #portfolio .gallery-rail{scroll-behavior:auto!important}
  body.prime-v2 #portfolio *{transition-duration:0s!important}
}
