.hero .lead, .hero .capabilities {
  max-width: 620px;
  font-size: 20px;
  line-height: 1.55;
  color: var(--ink);
}
.hero .lead { margin: 26px auto 16px; }
.hero .capabilities { margin: 0 auto 27px; }
.demo-shell {
  border: 1px solid #E3E7E5;
  border-radius: 24px;
  background: #FFF;
  box-shadow: 0 14px 40px #234C3609;
}
#demo-content { padding: 30px; }
.demo-request, .demo-answer {
  position: relative;
  width: fit-content;
  max-width: 82%;
  padding: 13px 17px;
  border: 0;
  border-radius: 21px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  isolation: isolate;
}
.demo-request { margin-left: auto; background: #0871DD; color: #FFF; }
.demo-answer { display: block; margin: 18px 0 9px; background: #E9E9EB; color: #212124; }
.demo-request p, .demo-answer p { font-size: 14px; line-height: 1.5; color: inherit; padding: 0; }
.demo-request::before, .demo-answer::before {
  content: '';
  position: absolute;
  bottom: 0;
  width: 18px;
  height: 19px;
  z-index: -1;
}
.demo-request::before { right: -6px; background: #0871DD; border-bottom-left-radius: 15px; }
.demo-answer::before { left: -6px; background: #E9E9EB; border-bottom-right-radius: 15px; }
.demo-request::after, .demo-answer::after {
  content: '';
  position: absolute;
  bottom: 0;
  width: 12px;
  height: 22px;
  background: white;
  z-index: -1;
}
.demo-request::after { right: -12px; border-bottom-left-radius: 11px; }
.demo-answer::after { left: -12px; border-bottom-right-radius: 11px; }
.result-attachment {
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: 82%;
  min-height: 110px;
  padding: 19px;
  border: 1px solid #E0E4E1;
  border-radius: 17px;
  overflow: hidden;
  background: #FAFBF9;
}
.attachment-caption h3 { font-size: 18px; font-weight: 500; line-height: 1.3; letter-spacing: -.025em; }
.attachment-caption p { font-size: 12px; line-height: 1.5; color: var(--muted); margin-top: 5px; }
.attachment-icon { width: 50px; flex-shrink: 0; color: #668779; }
.attachment-icon svg { display: block; width: 100%; fill: #E9F0EA; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.travel-attachment { display: block; padding: 0; }
.travel-attachment .result-art { height: 105px; }
.travel-attachment .attachment-caption { padding: 16px 19px; }
.memory { display: block; text-align: center; }
.memory h2 { max-width: none; }
.memory-intro p { max-width: 440px; margin: 12px auto 0; }
@media(max-width:600px) {
  .hero .lead, .hero .capabilities { max-width: 345px; font-size: 17px; line-height: 1.55; }
  .hero .lead { margin: 23px auto 16px; }
  .hero .capabilities { margin: 0 auto 25px; }
  .demo-shell { border-radius: 20px; }
  #demo-content { padding: 20px 14px; }
  .demo-request, .demo-answer { max-width: 92%; padding: 11px 13px; border-radius: 18px; }
  .demo-request p, .demo-answer p { font-size: 13px; }
  .result-attachment { max-width: 92%; min-height: 100px; gap: 10px; padding: 13px; border-radius: 15px; }
  .attachment-icon { width: 34px; }
  .attachment-caption h3 { font-size: 16px; }
  .attachment-caption p { font-size: 11px; }
  .travel-attachment { padding: 0; }
  .travel-attachment .result-art { height: 85px; }
  .travel-attachment .attachment-caption { padding: 13px; }
}
