@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Montserrat:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0}.rsvp-card{background:#fffcf8;border:1px solid #e8d6b850;border-radius:4px;margin-bottom:10px;padding:28px 32px 32px;box-shadow:0 2px 20px #b8860b0f}.card-section{text-align:center;margin-bottom:24px}.section-heading{letter-spacing:.18em;color:#3a2a1a;text-transform:uppercase;margin-bottom:6px;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600}.section-sub{color:#7a5a3a;margin-bottom:16px;font-family:Cormorant Garamond,serif;font-size:.95rem;line-height:1.5}.attend-btns{justify-content:center;gap:12px;display:flex}.attend-btn{letter-spacing:.12em;color:#b8860b;cursor:pointer;background:0 0;border:1.5px solid #b8860b;border-radius:3px;flex:1;justify-content:center;align-items:center;gap:8px;max-width:220px;padding:12px 16px;font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:600;transition:all .2s;display:flex}.attend-btn:hover{background:#b8860b0f}.attend-btn.active{color:#fff;background:#b8860b}.btn-icon{font-size:.85rem}.field-label{color:#5a3e28;text-align:left;margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:.9rem;display:block}.guest-card{background:#fff;border:1px solid #e8d6b8;border-radius:3px;margin-bottom:10px;padding:10px 12px;overflow:hidden}.guest-row{align-items:center;gap:10px;display:flex}.guest-input{color:#3a2a1a;background:#fff;border:1px solid #e0d0b8;border-radius:3px;flex:1;min-width:0;padding:10px 14px;font-family:Cormorant Garamond,serif;font-size:1rem;transition:border-color .2s}.guest-input::placeholder{color:#c0a878}.guest-input:focus{border-color:#b8860b;outline:none}.remove-guest{color:#c0a878;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:.85rem;transition:color .2s}.remove-guest:hover{color:#b8860b}.add-guest-btn{letter-spacing:.15em;color:#b8860b;cursor:pointer;background:0 0;border:1.5px solid #b8860b;border-radius:3px;width:100%;max-width:280px;margin:4px auto 0;padding:10px 16px;font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:600;transition:all .2s;display:block}.add-guest-btn:hover{background:#b8860b0f}.add-guest-btn:disabled{opacity:.4;cursor:not-allowed}.dots-divider{text-align:center;color:#b8860b;letter-spacing:.3em;margin:4px 0 20px;font-size:.7rem}.field-group{text-align:left;margin-bottom:14px}.contact-input{color:#3a2a1a;background:#fff;border:1px solid #e0d0b8;border-radius:3px;width:100%;margin-top:4px;padding:10px 14px;font-family:Cormorant Garamond,serif;font-size:1rem;transition:border-color .2s}.contact-input::placeholder{color:#c0a878}.contact-input:focus{border-color:#b8860b;outline:none}.honeypot-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.submit-btn{color:#fff;letter-spacing:.2em;cursor:pointer;background:#b8860b;border:none;border-radius:3px;width:100%;margin-top:8px;padding:14px;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;transition:background .2s;display:block}.submit-btn:hover:not(:disabled){background:#996f08}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.error-msg{color:#c0392b;text-align:center;margin-bottom:10px;font-family:Cormorant Garamond,serif;font-size:.85rem}@media (width<=480px){.rsvp-card{border-left:none;border-right:none;border-radius:0;padding:20px 12px 24px}.attend-btns{flex-direction:column;align-items:center}.attend-btn{width:100%;max-width:100%}.guest-row{flex-direction:column;align-items:stretch;gap:8px}.guest-input{flex:none;width:100%}.remove-guest{align-self:flex-end}.section-heading{letter-spacing:.14em;font-size:.72rem}.submit-btn{padding:16px;font-size:.72rem}}.success-card{text-align:center;background:#fffcf8;border:1px solid #e8d6b850;border-radius:4px;margin-bottom:10px;padding:48px 32px;box-shadow:0 2px 20px #b8860b0f}.success-icon{margin-bottom:16px;font-size:3rem}.success-heading{color:#b8860b;margin-bottom:16px;font-family:Great Vibes,cursive;font-size:2.8rem;font-weight:400}.success-body{color:#5a3e28;margin-bottom:12px;font-family:Cormorant Garamond,serif;font-size:1.1rem;line-height:1.6}.success-note{color:#9a7a5a;margin-top:16px;font-family:Cormorant Garamond,serif;font-size:.9rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#3a2a1a;background-color:#faf5f0;font-family:Cormorant Garamond,Georgia,serif}.app{background:linear-gradient(#fdf8f3 0%,#f8ede3 40%,#fdf8f3 100%);min-height:100vh}.garland-bar{width:100%;height:80px;position:relative;overflow:hidden}.garland-rope{background:linear-gradient(90deg,#0000 0%,#7a9a5a 5% 95%,#0000 100%);height:3px;position:absolute;top:2px;left:0;right:0}.garland-flowers{justify-content:center;align-items:flex-start;gap:0;height:100%;padding-top:0;display:flex}.hanging-flower-wrap{align-items:flex-start;margin-top:-2px;display:flex}.page-wrapper{justify-content:center;align-items:flex-start;max-width:960px;margin:0 auto;display:flex}.side-col{flex-direction:column;flex-shrink:0;align-items:center;gap:0;width:110px;padding-top:10px;display:flex}.lantern-wrap{margin-bottom:4px}.lantern-lower{margin-top:auto}.bouquet-wrap{flex:1;justify-content:center;align-items:flex-end;display:flex}.center-content{flex:1;min-width:0;max-width:620px;padding:0 8px}.invitation-header{text-align:center;padding:24px 16px 0}.family-names{color:#8c6239;letter-spacing:.02em;margin-bottom:4px;font-family:Great Vibes,cursive;font-size:1.8rem}.invite-line{color:#7a5a3a;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;line-height:1.6}.arch-frame{max-width:620px;margin:20px auto 12px;padding:0 16px;position:relative}.arch-outline{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.arch-text{padding:100px 24px 32px;position:relative}.bride-name,.groom-name{color:#b8860b;text-shadow:0 1px 2px #b8860b26;font-family:Great Vibes,cursive;font-size:clamp(2.6rem,7vw,3.8rem);font-weight:400;line-height:1.2}.parents-line{color:#9a7a5a;margin:2px 0 8px;font-family:Cormorant Garamond,serif;font-size:.85rem;font-style:italic}.ampersand{color:#b8860b;margin:4px 0;font-family:Great Vibes,cursive;font-size:2.4rem}.wedding-date{color:#8c6239;letter-spacing:.02em;margin:8px 0 4px;font-family:Great Vibes,cursive;font-size:1.8rem}.venue-name{color:#8c6239;margin:4px 0 2px;font-family:Great Vibes,cursive;font-size:1.6rem}.venue-address{color:#7a5a3a;margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:.95rem;line-height:1.5}.venue-link{color:inherit;text-decoration:none}.venue-link:hover{text-decoration:underline}.rsvp-divider{justify-content:center;align-items:center;gap:8px;margin-bottom:6px;display:flex}.divider-line{background:#b8860b;width:48px;height:1px;display:inline-block}.divider-diamond{color:#b8860b;font-size:.45rem}.divider-text{letter-spacing:.22em;color:#b8860b;font-family:Montserrat,sans-serif;font-size:.72rem;font-weight:600}.respond-by{color:#7a5a3a;margin-bottom:20px;font-family:Cormorant Garamond,serif;font-size:.95rem;font-style:italic}.bottom-border-wrap{text-align:center;margin-top:16px}.bottom-border-svg{width:100%;max-width:500px;height:50px}@media (width<=768px){.side-col{width:80px}.bride-name,.groom-name{font-size:2.6rem}.family-names,.wedding-date{font-size:1.5rem}.venue-name{font-size:1.3rem}.center-content{padding:0 4px}}@media (width<=600px){.side-col{width:60px}.lantern-wrap svg{width:36px}.bouquet-wrap svg{width:80px;height:auto}.bride-name,.groom-name{font-size:2rem}.ampersand{font-size:1.8rem}.arch-text{padding:80px 20px 24px}.invitation-header{padding:16px 8px 0}.garland-bar{height:60px}.family-names,.wedding-date{font-size:1.3rem}.venue-name{font-size:1.2rem}}@media (width<=460px){.side-col{display:none}.page-wrapper{padding:0 12px}.garland-bar{height:50px}.garland-flowers{gap:0}.hanging-flower-wrap svg{width:20px}.invitation-header{padding:12px 4px 0}.family-names{font-size:1.2rem}.bride-name,.groom-name{font-size:clamp(1.6rem,8vw,2rem)}.ampersand{font-size:1.6rem}.parents-line{font-size:.72rem}.wedding-date{font-size:1.2rem}.venue-name{font-size:1.1rem}.invite-line{font-size:.9rem}.divider-line{width:32px}.arch-text{padding:70px 16px 20px}}
