/* The 80px buffer exceeds the shared 68px desktop / 22px mobile bow limits.
   Only this decorative strip crosses the seam; headings and content stay put. */
.chatbot-intro.elastic-section { overflow: visible; z-index: 2; }
.chatbot-intro > .chatbot-edge-layer {
  position: absolute;
  inset: -80px 0 auto;
  height: 160px;
  overflow: hidden;
  z-index: -1;
  pointer-events: none;
  user-select: none;
}
.chatbot-edge-continuation {
  position: absolute;
  inset: 80px 0 0;
  background: var(--paper);
}
.chatbot-edge-grain {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.chatbot-edge-paper {
  position: absolute;
  inset: 0;
  background: var(--paper);
  clip-path: inset(80px 0 0);
}
.chatbot-edge-paper::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('assets/service-grain.png') 0 80px / 300px 300px repeat;
  opacity: .9;
}
