:root{color-scheme:light;font-family:Georgia,Times New Roman,serif;line-height:1.6}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#fdf8f0;color:#3d2c2c}.shell{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(ellipse at top,rgba(212,175,135,.15),transparent 60%),radial-gradient(ellipse at bottom,rgba(180,130,100,.1),transparent 60%),#fdf8f0}.invitation{max-width:540px;width:100%;text-align:center;padding:3.5rem 3rem;background:#fffcf7;border:1px solid #e8ddd0;border-radius:2px;position:relative;box-shadow:0 0 0 1px #b4967814,0 8px 40px #64462814}.invitation:before,.invitation:after{content:"";position:absolute;left:1.5rem;right:1.5rem;height:1px;background:linear-gradient(90deg,transparent,#c9b896 20%,#c9b896 80%,transparent)}.invitation:before{top:1.5rem}.invitation:after{bottom:1.5rem}.ornament-top{font-size:1.8rem;color:#c9a96e;margin-bottom:.5rem;letter-spacing:.3em;line-height:1}.subtitle{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:#a08b70;margin-bottom:2rem}.names{font-size:2.8rem;font-weight:400;line-height:1.2;color:#3d2c2c;margin:0 0 .3rem;font-style:italic}.ampersand{display:block;font-size:1.6rem;color:#c9a96e;margin:.2rem 0;font-style:italic}.date-line{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#a08b70;margin:2rem 0 2.5rem}.divider{width:40px;height:1px;background:#c9a96e;margin:0 auto 2rem}.details{font-size:1.05rem;color:#5a4636;line-height:1.8;margin-bottom:2rem}.details strong{font-weight:600;display:block;font-size:1.1rem;margin-bottom:.2rem}.details span{color:#8a7560;font-size:.95rem}.section-label{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:#b09a7a;margin-bottom:.8rem}.footer-message{font-style:italic;font-size:1rem;color:#7a6550;margin-top:2rem;line-height:1.7}.ornament-bottom{font-size:1.4rem;color:#c9a96e;margin-top:2rem;letter-spacing:.4em}.rsvp{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e8ddd0}.rsvp p{font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#a08b70;margin-bottom:.6rem}.rsvp-contact{font-size:.95rem;color:#5a4636}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.invitation>*{animation:fadeInUp .8s ease both}.invitation>*:nth-child(1){animation-delay:.1s}.invitation>*:nth-child(2){animation-delay:.2s}.invitation>*:nth-child(3){animation-delay:.35s}.invitation>*:nth-child(4){animation-delay:.5s}.invitation>*:nth-child(5){animation-delay:.6s}.invitation>*:nth-child(6){animation-delay:.7s}.invitation>*:nth-child(7){animation-delay:.8s}.invitation>*:nth-child(8){animation-delay:.9s}.invitation>*:nth-child(9){animation-delay:1s}.invitation>*:nth-child(10){animation-delay:1.1s}.invitation>*:nth-child(11){animation-delay:1.2s}.invitation>*:nth-child(12){animation-delay:1.3s}
