/* Physical surfaces and shadows come from Blender, not CSS polygons. */
.rendered-scene.paper-piece {
  min-height: 0;
  padding: 0 0 64px;
  margin-inline: 0;
  clip-path: none;
  perspective: none;
  /* Objects stay crisp; this only feathers the translucent backing's exterior shadow. */
  filter: drop-shadow(0 18px 25px rgba(0,0,0,.25));
  border: 0;
  background: transparent;
  overflow: hidden;
}
.paper-render { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
/* Give the actual renders more of the desktop composition, rather than merely
   exporting larger bitmaps. The hero remains a separate grid item from its CTA. */
@media (min-width:761px) {
  .hero-inner { grid-template-columns:minmax(0,1.1fr) minmax(440px,1.08fr); gap:clamp(32px,3.5vw,50px); }
  .hero-art { max-width:650px; }
  .spectrum-layout { grid-template-columns:minmax(0,.88fr) minmax(400px,1.12fr); gap:clamp(32px,4vw,58px); }
  .results-stage { grid-template-columns:minmax(0,.95fr) 1.05fr; gap:clamp(32px,4vw,58px); }
  .process-layout { grid-template-columns:minmax(0,.72fr) minmax(380px,1.28fr); gap:clamp(32px,4vw,58px); }
}
.rendered-scene .render-caption,
.rendered-scene .assembly-caption {
  position: static; display: block; padding: 4px 16px 0;
  max-width: none;
  color: var(--muted); font: 500 11px/1.5 "JetBrains Mono", monospace;
  letter-spacing: .035em;
}
.rendered-scene .lens-copy { max-width: 22ch; margin: 10px 16px 0; }
.source-post,
.source-post:nth-child(even) {
  background-image: url('/assets/papercraft/paper-stock.webp');
  background-size: cover;
  border: 1px solid #d3c7a7;
  border-right: 4px solid #bfb08f;
  border-bottom: 5px solid #bfb08f;
  box-shadow: 3px 8px 14px #0004;
}
.paper-symbol, .process-steps article::before, .case-tab {
  background-image: url('/assets/papercraft/paper-stock.webp');
  background-size: cover;
  background-blend-mode: multiply;
}
@media(max-width:760px) {
  .rendered-scene.paper-piece { min-height: 0; }
  .rendered-scene .lens-copy { font-size: 22px; }
}
