@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap");*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#3c0925;color:#4b1431;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.65}main{max-width:1180px;margin:48px auto;display:grid;grid-template-columns:1.1fr 1fr;box-shadow:0 24px 80px #1c061b55}.invitation{position:relative;overflow:hidden;text-align:center;background:#f9e3e9;padding:58px 46px 36px;border:12px solid #f5cfd9;outline:1px solid #a24a65;outline-offset:-24px}.eyebrow{font-size:12px;letter-spacing:.23em;font-weight:600;position:relative}.sixteen{font-family:Playfair Display,serif;font-size:225px;line-height:1;color:#aa4d6d;opacity:.16;position:absolute;top:68px;left:0;right:0;pointer-events:none}.intro{margin:80px 0 0;font-size:17px}.intro,h1{position:relative}h1{font-family:Playfair Display,serif;font-size:clamp(38px,4.2vw,54px);line-height:1.14;margin:13px 0 25px}h1,h1 em{font-weight:400}h1 em{color:#9c315c}.rule{height:1px;width:62px;background:#b06b7f;margin:26px auto}.rule.small{margin:22px auto;width:30px}.message{margin:0;font-size:17px}.message strong{font-weight:600}.welcome{max-width:340px;margin:22px auto;font-size:16px}.details p{margin:5px 0;font-size:16px}.details .date{font-weight:600;font-size:17px}.details h2{font-family:Playfair Display,serif;font-size:27px;font-weight:500;margin:0}.map{color:inherit;margin:13px 0 26px;text-underline-offset:5px;font-size:14px}.button,.map{display:inline-block}.button{background:#641837;color:#fff;border:0;padding:15px 30px;font:500 16px DM Sans,sans-serif;text-decoration:none;text-align:center;cursor:pointer;border-radius:3px}.button:hover{background:#8a2850}.button:disabled{opacity:.7;cursor:wait}.contact{position:relative;margin:26px 0 0;font-size:13px;color:#8b747c}.contact p{margin:3px 0}.contact p:first-child{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.contact a{color:#8a2850;font-weight:500}.footer-note{font-family:Playfair Display,serif;font-style:italic;font-size:16px;margin:20px 0 0}.rsvp{background:#fffafa;padding:62px 48px;scroll-margin-top:16px}.rsvp>.eyebrow{color:#ae5875}.rsvp h2{font-family:Playfair Display,serif;font-size:38px;line-height:1.2;font-weight:400;margin:14px 0}.rsvp>p{color:#765d68;margin:0 0 28px}form{display:grid;gap:20px}form>label{display:grid;gap:7px;font-size:14px;font-weight:500}label span{font-weight:400;color:#8b747c}input,select,textarea{font:400 16px DM Sans,sans-serif;width:100%;padding:13px 14px;color:#4b1431;background:#fff;border:1px solid #d9c4cb;border-radius:3px;line-height:1.5}input:focus,select:focus,textarea:focus{outline:2px solid #ac5275;outline-offset:2px}fieldset{padding:0;border:0;margin:0}legend{font-size:14px;margin-bottom:8px;font-weight:500}.options{display:grid;gap:8px}.options label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #dbc5ce;border-radius:3px;font-size:14px;cursor:pointer}.options label.selected{background:#f9e7ed;border-color:#a64c70}.options input{width:17px;height:17px;margin:0;accent-color:#641837}.privacy{font-size:12px;color:#806873;margin:0;line-height:1.6}.honeypot{position:absolute;left:-9999px;width:1px}.error{color:#a2193d;margin:0}.signoff{margin-top:30px;text-align:center;color:#936178;font-family:Playfair Display,serif;font-style:italic}.success{padding:35px 20px;background:#f9e7ed;text-align:center;margin-top:40px}.success span{font-family:Playfair Display,serif;font-size:35px}.success h3{font-size:18px}.success p{font-size:16px}@media(max-width:800px){main{max-width:560px;margin:18px auto;grid-template-columns:1fr}.invitation{padding:46px 24px 30px}.rsvp{padding:40px 28px}h1{font-size:44px}.intro{margin-top:80px}.rsvp h2{font-size:35px}}@media(max-width:380px){h1{font-size:36px}.invitation{padding-left:16px;padding-right:16px}.rsvp{padding:35px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}