/* ─────────── BLESSINGS / CLOSING ─────────── */
.blessings-wrap{
  position:relative;
  max-width:780px; margin:0 auto;
}
.blessings-hearts{
  position:absolute; inset:0;
  pointer-events:none;
  overflow:visible;
  z-index:0;
}
.float-heart{
  position:absolute;
  color: var(--rose-deep);
  opacity:.7;
  animation: float-heart linear infinite;
}
@keyframes float-heart{
  0%  { transform: translate3d(0, 60px, 0)    scale(.7); opacity:0  }
  15% { opacity:.7 }
  85% { opacity:.5 }
  100%{ transform: translate3d(10px, -180px, 0) scale(1); opacity:0 }
}

.blessings{
  position:relative; z-index:1;
  text-align:center;
  font-family:var(--serif);
  font-style:italic;
  font-size: clamp(1.1rem, 1.8vw, 1.4rem);
  color:var(--wine);
  line-height:2;
  padding: 1rem 0;
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap: 1.2rem;
  max-width: 760px;
  margin: 0 auto;
}
.laurel{
  width:80px; height:120px;
  color: var(--gold);
  opacity:.85;
}
.laurel.right{ transform: scaleX(-1) }
.blessings .kor-line{
  font-family:var(--kor);
  font-style:normal;
  font-size: .8em;
  color: var(--ink);
  display:block;
  margin-top:.3em;
  opacity:.8;
  letter-spacing:.05em;
}

/* ─────────── SIGNATURE ─────────── */
.signature{
  position:relative;
  text-align:right;
  max-width:760px; margin:3rem auto 0;
  padding-right: 1rem;
}
.signature .sig-flourish{
  display:inline-block;
  width:120px; height:24px;
  color: var(--gold);
  vertical-align:middle;
  margin-right:.6rem;
  opacity:.85;
}
.signature .from{
  font-family:var(--serif);
  font-style:italic;
  color: var(--gold);
  letter-spacing:.2em;
  font-size:.95rem;
  margin-bottom:.3rem;
}
.signature .name{
  font-family:var(--pen);
  font-size:2.6rem;
  color: var(--wine);
  line-height:1;
}

/* ─────────── FOOTER ─────────── */
footer{
  padding: 2rem 1rem 2.5rem;
  text-align:center;
  color: var(--gold);
  font-family:var(--serif);
  letter-spacing:.4em;
  font-size:.8rem;
  opacity:.8;
}
footer .footer-row{
  display:flex; align-items:center; justify-content:center; gap:1rem;
  margin-bottom:1rem;
}
footer .footer-row .star-tiny{ color: var(--gold); font-size:.6rem }
footer .footer-row .line{
  width:60px; height:1px;
  background: var(--gold); opacity:.5;
}

@media (max-width: 640px){
  .blessings{ grid-template-columns: 1fr; gap:.4rem }
  .laurel{ width:60px; height:80px; margin: 0 auto }
  .laurel.right{ transform: scaleX(-1) }
}
