/* VFG refinements · illustrated Earth, balanced services and floating team photos. */
@media(min-width:901px){
 #home .planet-installation:not(.prism-installation) .planet-scene{width:75%;margin-inline:auto}
 #home .planet-installation .planet-controls{margin-top:4px}
}
.planet-glow{opacity:.32;transform:scale(.86)}

/* Equal boundaries and a gentle fade on both sides of the services window. */
.services .service-viewport{
 --rail-inset:clamp(24px,2.8vw,48px);
 box-sizing:border-box;width:100%;max-width:1700px;margin-inline:auto;
 padding:10px var(--rail-inset) 18px;scroll-padding-inline:var(--rail-inset);
 -webkit-mask-image:linear-gradient(to right,transparent,#000 var(--rail-inset),#000 calc(100% - var(--rail-inset)),transparent);
 mask-image:linear-gradient(to right,transparent,#000 var(--rail-inset),#000 calc(100% - var(--rail-inset)),transparent);
}
.services .service-rail{justify-content:flex-start}
.services.service-loop .service-viewport{overflow-x:auto;scroll-snap-type:none;cursor:grab;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior-x:contain;user-select:none}
.services.service-loop .service-viewport.is-dragging{cursor:grabbing}
.services.service-loop .service-rail{position:relative;transform:none!important;will-change:auto}
.services.service-loop .service-card{scroll-snap-align:none}
.services.service-loop img{-webkit-user-drag:none}
.services.service-loop.is-pinned{height:calc(100svh + 850px)}
@media(max-width:900px){
 .services .service-viewport{--rail-inset:24px;width:calc(100% + var(--gutter)*2);max-width:none;margin-inline:calc(var(--gutter)*-1)}
}

/* Desktop only: Thea-like floating arrivals, scrubbed reversibly by page scroll. */
@media(min-width:761px){
 .join-media{--join-bleed:64px}
 .join-gallery{
  width:calc(100% + var(--join-bleed)*2);margin-inline:calc(var(--join-bleed)*-1);
  padding-inline:var(--join-bleed);overflow:clip;clip-path:none;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);
 }
 .join-track{width:100%;gap:clamp(40px,5svh,60px);transform:translate3d(0,var(--join-y,85px),0)}
 .join-photo,.join-photo:nth-child(2n){
  width:100%;aspect-ratio:492/377;
  transform:perspective(1800px) translate3d(var(--join-float-x,0px),var(--join-float-y,0px),0) rotateX(var(--join-float-rx,0deg)) rotateY(var(--join-float-ry,0deg)) rotateZ(var(--join-float-rz,0deg));
  transform-origin:center;opacity:1;backface-visibility:hidden;
 }
 .join-photo .image-frame{box-shadow:0 18px 35px #00000019}
 .join-photo img{filter:none}
}
@media(prefers-reduced-motion:reduce) and (min-width:761px){
 .join-gallery{width:100%;margin:40px 0 0;padding:0;mask-image:none;-webkit-mask-image:none}
 .join-track{gap:22px;transform:none!important}
 .join-photo,.join-photo:nth-child(2n){transform:none!important}
}
