/* Custom minimal CSS for subtle textures and utilities */
:root {
  --ring: #c9a34a;
}

html { scroll-behavior: smooth; }

/**** Accessibility helpers ****/
/* (RSVP removed) */

/* Light watercolor texture as background overlay, ultra subtle */
body::before {
  content: "";
  position: fixed; inset: 0; z-index: -1;
  background-image: url('../images/watercolor.png');
  background-size: 800px auto;
  background-repeat: repeat;
  opacity: 0.06;
  pointer-events: none;
}

/* Ornament spacing fix */
img[alt="ornament"] { filter: drop-shadow(0 2px 0 rgba(0,0,0,.02)); }

/* Lightbox transitions */
#lightboxModal { display: none; }
#lightboxModal.open { display: flex; animation: fadeIn .25s ease-out both; }
#lightboxImage { animation: zoomIn .25s ease-out both; }

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes zoomIn { from { transform: scale(.98); opacity: .8; } to { transform: scale(1); opacity: 1; } }

/* Floating lotus petals */
.petal { position:absolute; pointer-events:none; opacity:.6; animation-name: petalFloat; animation-timing-function: ease-in; animation-iteration-count: infinite; }
@keyframes petalFloat {
  0% { transform: translateY(0) rotate(0deg); opacity:.0; }
  10% { opacity:.6; }
  100% { transform: translateY(-120vh) rotate(180deg); opacity:0; }
}

/* Hero names fine-tuning */
.hero-names { letter-spacing: .02em; }
@media (max-width: 420px) {
  .hero-names { letter-spacing: .015em; line-height: 1.05; }
}
