/* Pearl-edged lilac stationery: rectangular cards, stable while artwork enters. */
.guest-notes .guest-intro {
  max-width: 310px;
  margin: 22px auto 0;
  color: #715979;
  font: italic 19px/1.5 var(--serif);
}
.guest-notes .guest-guide {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px 12px;
  margin: 36px -12px 0;
}
.guest-notes .guest-detail {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  gap: 0;
  padding: 17px 13px 24px;
  text-align: center;
  border: 1px solid #b49cbe99;
  border-radius: 6px;
  background: linear-gradient(155deg, #fffcff 0%, #fcf8fe 56%, #f3eaf8 100%);
  box-shadow: 0 7px 19px #6143700c, inset 0 0 0 4px #fffaff99;
}
.guest-notes .guest-detail::before {
  content: "";
  position: absolute;
  inset: 6px;
  border: 2px dotted #d6c7e0;
  border-radius: 2px;
  pointer-events: none;
}
.guest-medallion {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 166px;
  aspect-ratio: 1;
  margin-bottom: 16px;
  border: 1px solid #b6a3b05e;
  border-radius: 50%;
  background: radial-gradient(circle, #ebe0f1 0%, #f5effa 61%, #fffcff 62%, #baa2c66b 63%, #fffcff 65%, #fffaff00 66%);
  box-shadow: inset 0 0 0 4px #fffaffc0, inset 0 0 0 6px #baa2c638;
}
.guest-medallion::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px dotted #b6a3b0a0;
  border-radius: 50%;
  pointer-events: none;
}
.guest-notes .guest-art,
.guest-notes .guest-detail:nth-child(2) .guest-art {
  order: 0;
  width: 74%;
  margin: 0;
  z-index: 1;
}
.guest-notes .guest-art.motif-attire { width: 71%; }
.guest-notes .guest-art.motif-key { width: 63%; }
.guest-notes .guest-copy { width: 100%; min-width: 0; }
.guest-notes .guest-copy h3 {
  margin: 0;
  color: #50385b;
  font-size: clamp(23px, 5.9vw, 29px);
  line-height: 1.12;
  letter-spacing: -.3px;
  text-wrap: balance;
}
.guest-rule {
  display: block;
  width: 37px;
  height: 1px;
  margin: 14px auto;
  background: linear-gradient(90deg, transparent, #a084b0, transparent);
}
.guest-notes .guest-copy p {
  font-size: 17px;
  line-height: 1.5;
  font-style: italic;
  color: #625168;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.guest-venue-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 44px;
  max-width: 100%;
  padding: 11px 2px 2px;
  margin-top: auto;
  color: #6b4d78;
  font: 9px/1.5 var(--sans);
  letter-spacing: 1px;
  text-transform: uppercase;
  text-underline-offset: 5px;
}
.guest-venue-link svg { width: 13px; height: 13px; }
.guest-notes .guest-signoff { margin: 29px auto 0; color: #846e80; font-size: 29px; }
@container lilac-page (min-width: 600px) {
  .guest-notes .guest-guide { gap: 20px; margin-left: -14px; margin-right: -14px; }
  .guest-notes .guest-detail { padding: 24px 20px 30px; }
  .guest-notes .guest-copy p { font-size: 20px; }
  .guest-notes .guest-intro { font-size: 22px; }
  .guest-venue-link { font-size: 10px; }
}
@container lilac-page (max-width: 359px) {
  .guest-notes .guest-guide { gap: 12px 10px; }
  .guest-notes .guest-detail { padding: 14px 10px 20px; border-radius: 6px; }
  .guest-notes .guest-copy h3 { font-size: 22px; }
  .guest-notes .guest-copy p { font-size: 16px; }
  .guest-medallion { margin-bottom: 14px; }
}
/* The existing type-size detector provides a comfortable enlarged-text layout. */
.has-large-type .guest-notes .guest-guide { grid-template-columns: minmax(0, 1fr); }
.has-large-type .guest-notes .guest-detail { padding: 25px; }
.has-large-type .guest-notes .guest-copy { max-width: 360px; }
.has-large-type .guest-notes .guest-art,
.has-large-type .guest-notes .guest-detail:nth-child(2) .guest-art { width: 74%; margin: 0; }
.has-large-type .guest-notes .guest-art.motif-attire { width: 71%; }
.has-large-type .guest-notes .guest-art.motif-key { width: 63%; }
.has-large-type .guest-notes .guest-venue-link { margin-top: 14px; }
@media print {
  .guest-notes .guest-detail { break-inside: avoid; box-shadow: none; }
}
