/* Selected concept B: a smoked-glass showroom confined to Selected Work. */
.liquid-gallery .work-sticky { padding-top:34px; padding-bottom:24px; }
.liquid-gallery .work-header { flex:0 0 auto; }
.liquid-gallery .ribbon-stage { min-height:280px; margin-top:12px; perspective:1400px; perspective-origin:50% 50%; }
.liquid-gallery .ribbon-stage::before {
  content:""; position:absolute; z-index:0; pointer-events:none;
  left:-14%; right:-14%; top:65%; bottom:-10%;
  border-radius:50% 50% 0 0 / 18% 18% 0 0;
  background:radial-gradient(ellipse at 50% 20%,#adbac624,transparent 49%),linear-gradient(180deg,#14181da3,#090c0f70 42%,transparent 96%);
  box-shadow:0 1px 0 #a9bac21a inset; transform:perspective(700px) rotateX(12deg);
}
.liquid-gallery .ribbon-stage::after {
  content:""; position:absolute; z-index:0; pointer-events:none;
  left:12%; right:12%; bottom:9%; height:20%; border-radius:50%;
  background:radial-gradient(ellipse at 48% 38%,#c8d6e02b,transparent 67%);
  filter:blur(15px); opacity:.52;
}
.liquid-gallery #ribbon { z-index:1; }
.liquid-gallery .gallery-flow { opacity:.72; }
.liquid-gallery .project-fallback { align-items:center; gap:clamp(30px,5vw,80px); padding-block:35px 55px; overflow-y:hidden; }
.liquid-gallery .project-fallback>a { flex:0 0 min(68vw,900px); overflow:visible; perspective:1200px; }
.liquid-gallery .project-fallback>a>figure { margin:0; }
.liquid-gallery .project-fallback>a>.gallery-fallback-caption { display:flex; justify-content:space-between; gap:20px; margin-top:20px; font-size:17px; }
.liquid-gallery .gallery-web-display { position:relative; isolation:isolate; padding-bottom:0; }
.liquid-gallery .liquid-card-frame {
  position:relative; display:block; padding:clamp(14px,1.7vw,24px); isolation:isolate;
  border-radius:40px 48px 36px 44px / 50px 38px 50px 42px;
  background:linear-gradient(132deg,#c9d5dfaa 0%,#34414caa 4%,#0d1721b0 12%,#73818c7a 23%,#111c27af 42%,#6b7b8766 70%,#d4dde4a8 88%,#27343dcc 96%);
  box-shadow:0 1px 2px #e8f5ffcc inset,0 -1px 2px #dce9f899 inset,3px 1px 3px #e4f0ff6b inset,-3px -2px 4px #000d inset,0 16px 28px -15px #000d;
}
.liquid-gallery .liquid-card-frame::before {
  content:""; position:absolute; inset:5px; pointer-events:none; border-radius:inherit;
  border:1px solid #c5d3df55; box-shadow:0 0 0 2px #0a131b87,0 0 0 4px #bac7d71b;
}
.liquid-gallery .liquid-card-frame::after {
  content:""; position:absolute; pointer-events:none; inset:10px;
  border-radius:29px 37px 25px 33px / 39px 27px 39px 31px;
  border:1px solid #ecf4ff33; box-shadow:0 1px 4px #f1f7ff55 inset,0 -2px 5px #0009 inset;
}
.liquid-gallery .liquid-card-screen { display:block; position:relative; aspect-ratio:1373/855; border-radius:22px; overflow:hidden; background:#10141c; }
.liquid-gallery [data-project-link="0"] .liquid-card-screen { background:#f6f8fd; }
.liquid-gallery [data-project-link="1"] .liquid-card-screen { background:#141720; }
.liquid-gallery [data-project-link="2"] .liquid-card-screen { background:#030711; }
.liquid-gallery [data-project-link="2"] .liquid-card-screen>img { object-position:8% center; }
.liquid-gallery .project-fallback .liquid-card-screen>img {
  display:block; width:100%; height:100%; max-height:none; aspect-ratio:auto; margin:0; padding:0;
  border:0; border-radius:0; box-shadow:none; object-fit:cover; image-rendering:auto; filter:none; opacity:1; background:transparent;
}
.liquid-gallery .project-fallback .gallery-media-reflection {
  display:block; position:absolute; z-index:-1; pointer-events:none; left:3%; top:calc(100% + 2px); width:94%; height:auto;
  max-height:none; margin:0; padding:0; border:0; border-radius:16px; object-fit:contain;
  transform:scaleY(-.36); transform-origin:50% 0; opacity:.11;
  background:transparent; box-shadow:none; filter:none;
  mask-image:linear-gradient(0deg,#000,transparent 75%);
}
.liquid-gallery .project-fallback>a.game-project { flex-basis:clamp(230px,27vw,360px); align-self:center; }
.liquid-gallery .project-fallback { padding-right:max(var(--gutter),calc((100% - clamp(230px,27vw,360px))/2)); }
.liquid-gallery .gallery-phone-display { position:relative; height:clamp(370px,42vw,530px); isolation:isolate; perspective:1000px; }
.liquid-gallery .project-fallback .gallery-phone-stand {
  display:block; position:absolute; left:50%; bottom:-1%; width:124%; max-width:none; height:44%;
  transform:translateX(-50%);
  object-fit:contain; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; filter:none;
}
.liquid-gallery .gallery-phone-turn {
  position:absolute; display:block; z-index:1; left:17%; right:17%; top:0; bottom:11%;
  transform-style:preserve-3d; transform-origin:50% 90%;
  animation:gallery-phone-sway 13s cubic-bezier(.45,0,.55,1) infinite alternate;
  animation-play-state:paused;
}
.liquid-gallery .project-fallback .gallery-phone-turn>img:not(.gallery-media-reflection) {
  position:relative; display:block; width:100%; height:100%; max-height:none;
  aspect-ratio:auto; object-fit:contain; margin:0; padding:0; border:0; border-radius:0;
  filter:none; opacity:1; background:transparent; box-shadow:none;
}
.liquid-gallery .gallery-phone-turn>.gallery-media-reflection { left:0; width:100%; opacity:.13; }
.liquid-gallery.is-in-view .gallery-phone-turn { animation-play-state:running; }
.modal-open .liquid-gallery .gallery-phone-turn { animation-play-state:paused; }
.liquid-gallery .work-bottom { flex:0 0 auto; margin-top:5px; }
.liquid-gallery .active-project { max-width:min(72ch,80%); }
.liquid-gallery .active-project>p { max-width:76ch; line-height:1.55; }
.liquid-gallery .project-index { flex:0 0 auto; margin-top:15px; }
.liquid-gallery .ribbon-open { top:auto; bottom:26px; left:auto; right:var(--gutter); translate:none; }
.liquid-gallery .drag-hint { bottom:26px; }
/* Native images stay at full source resolution; only their outer object moves. */
.liquid-gallery.orbit-ready #ribbon { display:none; }
.liquid-gallery.orbit-ready .ribbon-open { display:block; }
.liquid-gallery.orbit-ready .project-fallback {
  position:absolute; inset:0; display:block; height:auto; min-height:0;
  margin:0; padding:0; overflow:visible; scroll-snap-type:none; scrollbar-width:none;
  visibility:visible; pointer-events:none; transform-style:preserve-3d; touch-action:pan-y;
}
.liquid-gallery.orbit-ready .project-fallback>a {
  position:absolute; left:50%; top:50%; display:block; margin:0; padding:0;
  flex:none; perspective:none; transform-style:preserve-3d; transform-origin:50% 50%;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  transition:none; will-change:auto; cursor:grab; user-select:none; -webkit-user-select:none; pointer-events:auto;
}
.liquid-gallery.orbit-ready .ribbon-stage.is-dragging .project-fallback>a { cursor:grabbing; }
.liquid-gallery.orbit-ready.is-orbit-moving .project-fallback>a { will-change:transform; }
.liquid-gallery.orbit-ready .project-fallback>a:focus-visible { outline:2px solid #c6d7e6; outline-offset:8px; }
.liquid-gallery.orbit-ready .project-fallback>a>.gallery-fallback-caption { display:none; }
.liquid-gallery.orbit-ready .gallery-web-display { width:100%; height:100%; padding:0; }
.liquid-gallery.orbit-ready .liquid-card-frame {
  width:100%; height:100%; padding:var(--orbit-rim,28px);
  border-radius:var(--orbit-radius,54px); box-sizing:border-box;
}
.liquid-gallery.orbit-ready .liquid-card-frame::after {
  inset:max(8px,calc(var(--orbit-rim,28px) * .4));
  border-radius:max(12px,calc(var(--orbit-radius,54px) - var(--orbit-rim,28px) * .4));
}
.liquid-gallery.orbit-ready .liquid-card-screen {
  width:100%; height:100%; aspect-ratio:auto;
  border-radius:max(10px,calc(var(--orbit-radius,54px) - var(--orbit-rim,28px)));
}
.liquid-gallery.orbit-ready .project-fallback .liquid-card-screen>img { width:100%; height:100%; object-fit:cover; }
.liquid-gallery.orbit-ready .gallery-phone-display { width:100%; height:100%; perspective:none; }
.liquid-gallery.orbit-ready .gallery-phone-turn {
  inset:0; animation:none; transform:none; transform-style:flat;
}
.liquid-gallery.orbit-ready .project-fallback .gallery-phone-stand {
  bottom:-4%; width:185%; height:auto; max-height:none;
}
.liquid-gallery.orbit-ready .project-fallback .gallery-phone-turn>img:not(.gallery-media-reflection) {
  width:100%; height:100%; object-fit:contain; image-rendering:auto;
}
.liquid-gallery.orbit-ready .project-fallback .gallery-media-reflection {
  left:0; width:100%; top:calc(100% + 3px); opacity:.08;
}
.liquid-gallery.orbit-ready .gallery-phone-turn>.gallery-media-reflection { display:none; }
@keyframes gallery-phone-sway { from { transform:rotateY(-7deg) rotateZ(-1.2deg); } to { transform:rotateY(7deg) rotateZ(1.2deg); } }
@media(min-width:701px) {
  .liquid-gallery .work-sticky { padding-top:24px; padding-bottom:16px; }
  .liquid-gallery .work-header { align-items:flex-start; }
  .liquid-gallery .work-header h2 { font-size:clamp(36px,3.4vw,48px); line-height:1.05; }
  .liquid-gallery .work-header>div>p { display:none; }
  .liquid-gallery .work-header .text-link { margin-top:3px; }
  .liquid-gallery .ribbon-stage { margin-top:8px; }
  .liquid-gallery .active-project h3 { margin:0 0 6px; font-size:32px; line-height:1.1; }
  .liquid-gallery .active-project>p { margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1.5; }
  .liquid-gallery .active-project>a { margin-top:8px; }
  .liquid-gallery .project-index { margin-top:8px; }
}
@media(max-width:1000px) and (min-width:701px) {
  .liquid-gallery .work-sticky { min-height:680px; height:min(100svh,820px); max-height:820px; }
  .liquid-gallery .work-header h2 { font-size:44px; }
  .liquid-gallery .work-header>div { min-width:190px; }
  .liquid-gallery .active-project h3 { font-size:30px; }
  .liquid-gallery .active-project>p { font-size:14px; }
}
@media(max-width:700px) {
  .liquid-gallery .work-sticky { padding-top:42px; padding-bottom:32px; }
  .liquid-gallery .ribbon-stage { margin-top:20px; min-height:0; }
  .liquid-gallery .project-fallback { min-height:400px; height:460px; gap:30px; padding:22px var(--gutter) 46px; align-items:center; }
  .liquid-gallery .project-fallback>a { flex-basis:84vw; }
  .liquid-gallery .project-fallback>a>.gallery-fallback-caption { margin-top:17px; font-size:15px; }
  .liquid-gallery .liquid-card-frame { padding:16px; border-radius:29px 34px 27px 32px / 34px 27px 34px 29px; }
  .liquid-gallery .liquid-card-frame::after { inset:9px; border-radius:21px 26px 19px 24px / 26px 19px 26px 21px; }
  .liquid-gallery .liquid-card-screen { border-radius:14px; }
  .liquid-gallery .project-fallback>a.game-project { flex-basis:230px; }
  .liquid-gallery .project-fallback { padding-right:max(var(--gutter),calc((100% - 230px)/2)); }
  .liquid-gallery .gallery-phone-display { height:330px; }
  .liquid-gallery .ribbon-stage::before { top:56%; bottom:3%; }
  .liquid-gallery .ribbon-stage::after { bottom:7%; }
  .liquid-gallery .active-project { max-width:calc(100% - 68px); }
  .liquid-gallery .project-index { margin-top:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .liquid-gallery .work-sticky { height:auto; max-height:none; min-height:0; }
  .liquid-gallery .ribbon-stage { flex:none; min-height:0; }
  .liquid-gallery .project-fallback { min-height:0; height:650px; }
  .liquid-gallery .gallery-phone-display { height:470px; }
  .liquid-gallery .gallery-phone-turn { animation:none; transform:none; }
  .liquid-gallery .project-fallback>a { flex-basis:min(850px,82vw); }
  .liquid-gallery .project-fallback>a.game-project { flex-basis:300px; }
  .liquid-gallery .project-fallback { padding-right:max(var(--gutter),calc((100% - 300px)/2)); }
}
@media(max-width:700px) and (prefers-reduced-motion:reduce) {
  .liquid-gallery .project-fallback { height:460px; }
  .liquid-gallery .gallery-phone-display { height:330px; }
  .liquid-gallery .project-fallback>a { flex-basis:84vw; }
  .liquid-gallery .project-fallback>a.game-project { flex-basis:230px; }
  .liquid-gallery .project-fallback { padding-right:max(var(--gutter),calc((100% - 230px)/2)); }
}
