@import "https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:ital,wght@0,400;0,500;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:#fffaf4;border:1px solid #e8c99a50;border-radius:4px;margin-bottom:10px;padding:28px 32px 32px;box-shadow:0 2px 20px #c8763a14}.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:#c8763a;cursor:pointer;background:0 0;border:1.5px solid #c8763a;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:#c8763a10}.attend-btn.active{color:#fff;background:#c8763a}.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-list-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.contact-hint{color:#bba882;font-family:Cormorant Garamond,serif;font-size:.8rem;font-style:italic}.guest-card{background:#fff;border:1px solid #e8d8bc;border-radius:3px;margin-bottom:10px;padding:10px 12px}.guest-row{align-items:center;gap:10px;display:flex}.guest-row--meal{margin-top:8px}.radio-tooltip-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.radio-wrap{cursor:pointer;flex-shrink:0;align-items:center;padding:2px;display:flex}.guest-radio{opacity:0;width:0;height:0;position:absolute}.radio-dot{background:#fff;border:2px solid #ddc9a8;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:border-color .2s,box-shadow .2s,background .2s;display:inline-block;position:relative;box-shadow:0 1px 3px #c8763a14}.radio-dot:after{content:"";background:#c8763a;border-radius:50%;width:10px;height:10px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.guest-radio:checked+.radio-dot{background:#fff8f2;border-color:#c8763a;box-shadow:0 0 0 3px #c8763a26}.guest-radio:checked+.radio-dot:after{transform:translate(-50%,-50%)scale(1)}.radio-wrap:hover .radio-dot{border-color:#c8763a;box-shadow:0 0 0 3px #c8763a1a}.guest-radio:focus-visible+.radio-dot{outline-offset:2px;outline:2px solid #c8763a}.primary-pill{color:#c8763a;white-space:nowrap;background:#fff8f2;border:1px solid #e8c99a;border-radius:20px;flex-shrink:0;padding:2px 10px;font-family:Cormorant Garamond,serif;font-size:.75rem;font-style:italic;animation:.2s pill-in}@keyframes pill-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.guest-input{color:#3a2a1a;background:#fff;border:1px solid #ddc9a8;border-radius:3px;flex:1;padding:10px 14px;font-family:Cormorant Garamond,serif;font-size:1rem;transition:border-color .2s}.guest-input::placeholder{color:#bba882}.guest-input:focus{border-color:#c8763a;outline:none}.remove-guest{color:#bba882;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:.85rem;transition:color .2s}.remove-guest:hover{color:#c8763a}.add-guest-btn{letter-spacing:.15em;color:#c8763a;cursor:pointer;background:0 0;border:1.5px solid #c8763a;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:#c8763a10}.add-guest-btn:disabled{opacity:.4;cursor:not-allowed}.dots-divider{text-align:center;color:#c8763a;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 #ddc9a8;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:#bba882}.contact-input:focus{border-color:#c8763a;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:#c8763a;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:#a85e28}.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{padding:20px 16px 24px}.attend-btns{flex-direction:column;align-items:center}.attend-btn{width:100%;max-width:100%}}.success-card{text-align:center;background:#fffaf4;border:1px solid #e8c99a50;border-radius:4px;margin-bottom:10px;padding:48px 32px;box-shadow:0 2px 20px #c8763a14}.success-icon{margin-bottom:16px;font-size:3rem}.success-heading{color:#c8763a;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:#fdf5ec;font-family:Cormorant Garamond,Georgia,serif}.app{background-color:#fdf5ec;min-height:100vh}.garland-bar{width:100%;height:80px;position:relative;overflow:hidden}.garland-rope{background:linear-gradient(90deg,#0000 0%,#6a8c3a 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:#c8763a;letter-spacing:.04em;margin-bottom:2px;font-family:Cormorant Garamond,serif;font-size:1rem}.invite-line{color:#5a3e28;font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;line-height:1.55}.arch-frame{max-width:420px;margin:10px auto 6px;position:relative}.arch-outline{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.arch-text{z-index:1;padding:28px 20px 20px;position:relative}.bride-name,.groom-name{color:#c8763a;font-family:Great Vibes,cursive;font-size:clamp(2.8rem,7vw,4rem);font-weight:400;line-height:1.15}.ampersand{color:#c8763a;margin:2px 0;font-family:Great Vibes,cursive;font-size:2.2rem}.wedding-date{color:#c8763a;letter-spacing:.04em;margin:8px 0 16px;font-family:Cormorant Garamond,serif;font-size:1.2rem}.rsvp-divider{justify-content:center;align-items:center;gap:8px;margin-bottom:6px;display:flex}.divider-line{background:#c8763a;width:48px;height:1px;display:inline-block}.divider-diamond{color:#c8763a;font-size:.45rem}.divider-text{letter-spacing:.22em;color:#c8763a;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}.gate-wrap{text-align:center;margin-top:8px}.gate-svg{width:100%;max-width:500px;height:90px}@media (width<=640px){.side-col{width:70px}.bride-name,.groom-name{font-size:2.4rem}}@media (width<=460px){.side-col{display:none}.garland-flowers{gap:0}}
