/* ─────────── MESSAGE BLOCK (lavender) ─────────── */
.message-wrap{
  position:relative;
  max-width:820px; margin:0 auto;
  padding: 30px;
}
.message-wrap::before{
  /* lavender halo glow */
  content:""; position:absolute; inset:-20px;
  background: radial-gradient(ellipse at center, rgba(212,197,232,.55), transparent 70%);
  filter: blur(40px);
  z-index:-1;
}

.message-block{
  position:relative;
  background: linear-gradient(160deg, #EBE0F5, #D4C5E8 60%, #C2AEDD);
  padding: clamp(3.4rem, 6vw, 5rem) clamp(2rem, 6vw, 4rem);
  border-radius: 18px;
  box-shadow:
    0 30px 60px -30px rgba(122,46,58,.35),
    inset 0 0 0 1px rgba(255,255,255,.4);
  color: #2a1d3a;
  text-align:center;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 2;
}

/* huge decorative quotes */
.message-block::before,
.message-block::after{
  position:absolute;
  font-family:var(--serif);
  font-size: clamp(7rem, 14vw, 11rem);
  color: var(--wine);
  opacity:.18;
  line-height:1;
  pointer-events:none;
}
.message-block::before{ content:"\201C"; top:-.2em;    left:.3em }
.message-block::after { content:"\201D"; bottom:-.55em; right:.3em }

.message-block p{ margin: 0 0 1em }
.message-block p:last-child{ margin-bottom:0 }
.message-block em{
  font-family:var(--pen);
  font-style:normal;
  color:var(--wine);
  font-size:1.4em;
}

/* art-nouveau flower corners */
.msg-corner{
  position:absolute;
  width:60px; height:60px;
  color: var(--lavender-deep);
  opacity:.85;
  z-index:2;
}
.msg-corner.tl{ top:-18px;    left:-18px }
.msg-corner.tr{ top:-18px;    right:-18px;  transform: scaleX(-1) }
.msg-corner.bl{ bottom:-18px; left:-18px;   transform: scaleY(-1) }
.msg-corner.br{ bottom:-18px; right:-18px;  transform: scale(-1,-1) }

/* tiny crown */
.msg-crown{
  position:absolute;
  top:-26px; left:50%; transform: translateX(-50%);
  width:50px; height:36px;
  color: var(--wine);
  z-index:3;
  filter: drop-shadow(0 4px 6px rgba(0,0,0,.2));
}

/* floating inner sparkles */
.msg-sparkle{
  position:absolute;
  width:12px; height:12px;
  color: var(--gold);
  opacity:.7;
  animation: float-up 14s ease-in-out infinite, glow-pulse 3s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes float-up{
  0%  { transform: translate3d(0,20px,0) rotate(0);     opacity:0 }
  20% { opacity:.8 }
  80% { opacity:.6 }
  100%{ transform: translate3d(20px,-180px,0) rotate(180deg); opacity:0 }
}

@media (max-width: 640px){
  .msg-corner{ width:44px; height:44px }
}

/* ─────────── 삼행시 ─────────── */
.samhaengsi{
  margin: 0 0 2.4rem;
  text-align:center;
}
.samhaengsi-title{
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  color: var(--wine);
  letter-spacing:.3em;
  margin-bottom: 1.4rem;
  position:relative;
  display:inline-block;
  padding: 0 1.4rem;
}
.samhaengsi-title::before,
.samhaengsi-title::after{
  content:"";
  position:absolute; top:50%;
  width: 36px; height:1px;
  background: var(--wine); opacity:.55;
}
.samhaengsi-title::before{ right:100% }
.samhaengsi-title::after { left:100% }

.samhaengsi-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.4rem;
}
.samhaengsi-card{
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(122,46,58,.18);
  border-radius: 14px;
  padding: 1.4rem 1.2rem 1.2rem;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.55),
    0 12px 24px -18px rgba(122,46,58,.4);
  backdrop-filter: blur(4px);
}
.samhaengsi-name{
  font-family: var(--pen);
  font-size: clamp(1.5rem, 2.6vw, 2.1rem);
  color: var(--wine);
  letter-spacing:.18em;
  margin-bottom: 1rem;
}
.samhaengsi-lines{
  list-style:none; padding:0; margin:0;
  text-align:left;
}
.samhaengsi-lines li{
  display:flex; align-items:baseline; gap: .7rem;
  padding: .35rem 0;
  font-size: clamp(.95rem, 1.3vw, 1.05rem);
  line-height: 1.55;
  border-bottom: 1px dashed rgba(122,46,58,.18);
}
.samhaengsi-lines li:last-child{ border-bottom:none }
.samhaengsi-lines .syl{
  flex: 0 0 auto;
  width: 1.8em;
  text-align:center;
  font-family: var(--serif);
  font-weight: 700;
  color: var(--wine);
  font-size: 1.25em;
  background: rgba(122,46,58,.08);
  border-radius: 6px;
  padding: .05em .2em;
}
.samhaengsi-lines .line{
  flex: 1 1 auto;
  color: #2a1d3a;
}

@media (max-width: 640px){
  .samhaengsi-grid{ grid-template-columns: 1fr }
}
