*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f3efe8}body{font-family:Arial,sans-serif;color:#2c2723}.invitation{position:relative;max-width:900px;min-height:1120px;margin:0 auto;overflow:hidden;background:#f9f5ed}.art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.content{position:relative;z-index:1;width:min(78%,640px);margin:0 auto;padding:13rem 2.2rem 4rem;text-align:center}.kicker{font:700 clamp(.65rem,1.4vw,.9rem)/1.4 Arial,sans-serif;letter-spacing:.24em;margin:0 0 1.4rem;text-transform:uppercase}.names{font:clamp(2.5rem,7vw,5.2rem)/.95 Georgia,serif;margin:.3rem auto .7rem;font-weight:400;max-width:100%}.names span{display:inline-block;max-width:100%;overflow-wrap:anywhere}.amp{font-size:.7em;margin:0 .18em}.subtitle{font:700 clamp(.75rem,1.6vw,1rem)/1.4 Arial,sans-serif;letter-spacing:.18em;margin:0 0 2.2rem;text-transform:uppercase}.message{font:1.05rem/1.6 Georgia,serif;margin:0 auto 2.1rem;max-width:35rem}.details{display:grid;gap:.65rem;margin:0 auto 2rem;font:700 .83rem/1.5 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}.details p{margin:0}.details .value{display:block;font:1.12rem/1.4 Georgia,serif;letter-spacing:0;text-transform:none;margin-top:.18rem}.rule{width:4rem;border:0;border-top:1px solid currentColor;margin:1.7rem auto}.schedule{margin:1.5rem auto 0;max-width:36rem}.schedule h2{font:700 .72rem/1.4 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin:0 0 .9rem}.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.schedule-item{font-size:.78rem;line-height:1.35}.schedule-item strong{display:block;font:700 .7rem/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.schedule-item span{display:block;margin-top:.22rem}.rsvp{margin:2.2rem auto 0;border-top:1px solid rgba(44,39,35,.3);padding-top:1rem;font:700 .68rem/1.4 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.rsvp::after{content:'RSVP';display:block;margin-top:.45rem;font:1rem/1 Georgia,serif;letter-spacing:.08em}@media (max-width:640px){.invitation{min-height:100svh}.content{width:86%;padding:10rem 1rem 3rem}.names{font-size:clamp(2rem,11vw,3.6rem)}.message{font-size:.98rem}.schedule-grid{grid-template-columns:1fr;gap:.55rem}.schedule-item{display:grid;grid-template-columns:1fr 1fr;text-align:left;max-width:17rem;margin:0 auto}.schedule-item strong,.schedule-item span{margin:0}.rsvp{margin-top:1.6rem}}@media (prefers-reduced-motion:reduce){*{animation-duration:0s!important;transition-duration:0s!important}}