/* Version two: one projected optical outline from the 3D turn into the gallery. */
:is(.version-2,.version-atrium) .hero-stage{isolation:isolate}:is(.version-2,.version-atrium) .hero-copy{z-index:4}.glasses-model{position:absolute;inset:66px 0 0;pointer-events:none;z-index:4;opacity:0}.glasses-model canvas{width:100%;height:100%;display:block}.lens-about{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0}.lens-about .about-copy{pointer-events:auto}.lens-about .about-statement{font-size:clamp(28px,3.2vw,60px);text-shadow:0 3px 25px #131419}:is(.version-2,.version-atrium) .projects{inset:66px 0 0}:is(.version-2,.version-atrium) .projects:after{display:none}:is(.version-2,.version-atrium) .project-meta{bottom:24px}.lens-window{position:absolute;inset:0;pointer-events:none}.lens-interior{position:absolute;inset:0;clip-path:url(#visor-clip);background:radial-gradient(ellipse at 50% 38%,#22232b,#101115 70%);pointer-events:auto}.visor-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.visor-outline path{fill:none;stroke:#868893;stroke-width:1.3;stroke-opacity:.48}.lens-track{position:absolute;inset:0}.convex-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.visor-card{padding:0;border:0;border-radius:0;overflow:hidden;background:transparent;box-shadow:none;will-change:transform}.visor-card img{width:100%;height:100%;object-fit:cover;display:block}.mesh-ready .visor-card img{visibility:hidden}.mesh-ready .visor-card{background:transparent}.lens-horizon{position:absolute;inset:0;background:linear-gradient(115deg,#a25d2510,transparent 35%,#7f65bc0d);pointer-events:none}:is(.version-2,.version-atrium) .next-chapter{z-index:6}.glasses-fallback .fallback-visor{position:absolute;left:20%;top:30%;width:60%;height:32%;border:6px solid #363740;border-radius:25% 25% 38% 38%;background:linear-gradient(135deg,#bd491e88,#39215c88);transform:perspective(600px) rotateY(-25deg)}
@media(max-width:700px){.glasses-model,:is(.version-2,.version-atrium) .projects{top:64px}.lens-about .about-copy{left:22px;right:22px}.lens-about .about-statement{font-size:25px}:is(.version-2,.version-atrium) .project-meta{bottom:55px}}

/* Screen-space optical falloff keeps the middle crisp, including while cards move. */
.lens-edge-blur{position:absolute;inset:0;pointer-events:none;z-index:30}.lens-edge-soft{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);mask-image:linear-gradient(90deg,#000,transparent 25%,transparent 75%,#000)}.lens-edge-strong{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);mask-image:linear-gradient(90deg,#000,transparent 15%,transparent 85%,#000)}

/* V2 architectural intro: registered linework, then glass, then live typography. */
.pavilion-field{position:absolute;inset:0;z-index:0;pointer-events:none;transform-origin:50% 48%;will-change:transform,opacity}
.pavilion-art{position:absolute;width:min(100vw,160svh);height:auto;left:50%;top:48%;transform:translate(-50%,-50%);overflow:visible}
@media(max-width:700px){.pavilion-art{width:175vw;top:47%}}
@media(prefers-reduced-motion:reduce){.pavilion-field{will-change:auto}}

/* The atrium canvas remains one continuous world from emergence to gallery. */
.version-atrium .projects{z-index:5}
.version-atrium .atrium-model{z-index:4}
.atrium-trigger{background:transparent;border:0;border-radius:0;box-shadow:none}
.atrium-trigger:focus-visible{outline:1px solid #d4b3ff;outline-offset:6px}
.atrium-fallback .atrium-trigger{inset:20% 16%;width:68%;height:60%}
.atrium-fallback img{width:100%;height:100%;object-fit:contain}

.version-atrium .hero-stage,.version-atrium .scene{overflow:clip}
