@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Great+Vibes&family=Cinzel:wght@400;600&family=Montserrat:wght@300;400;500;600&display=swap";@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Great+Vibes&family=Cinzel:wght@400;600&family=Montserrat:wght@300;400;500;600&display=swap";*{box-sizing:border-box}#root{width:100%}body{color:#3a3028;-webkit-font-smoothing:antialiased;background:#f7f3f0;margin:0;font-family:Montserrat,sans-serif}#invitation{justify-content:center;align-items:flex-start;min-height:100vh;padding:24px 12px 32px;display:flex;position:relative}.fx-layer{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.card{z-index:2;background:#fff;border-radius:2px;width:100%;max-width:760px;animation:.9s cubic-bezier(.22,1,.36,1) both cardRise;position:relative;overflow:hidden;box-shadow:0 2px 4px #c59d5f14,0 12px 40px #0000001a,0 40px 80px #0000000f}@keyframes cardRise{0%{opacity:0;transform:translateY(40px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.card-hero{object-fit:cover;object-position:center 15%;width:100%;max-height:420px;display:block}.gold-rule{align-items:center;gap:12px;margin:24px 0 0;padding:0 36px;display:flex}.gold-rule:before,.gold-rule:after{content:"";background:linear-gradient(90deg,#0000,#c59d5f88,#c59d5f,#c59d5f88,#0000);flex:1;height:1px}.gold-rule-diamond{background:#c59d5f;flex-shrink:0;width:6px;height:6px;transform:rotate(45deg)}.card-body{text-align:center;padding:20px 40px 24px}.card-eyebrow{letter-spacing:4px;color:#c59d5f;text-transform:uppercase;margin:0 0 12px;font-family:Cinzel,serif;font-size:12px;font-weight:700;animation:.7s ease-out .3s both fadeInUp}.couple-names{color:#c59d5f;margin:0 0 2px;font-family:Great Vibes,cursive;font-size:74px;line-height:1.1;animation:.7s ease-out .45s both fadeInUp}.card-tagline{letter-spacing:5px;color:#7a6a5a;text-transform:uppercase;margin:0 0 16px;font-family:Cinzel,serif;font-size:12px;font-weight:600;animation:.7s ease-out .55s both fadeInUp}.card-description{color:#3a3028;margin:0;font-family:Cormorant Garamond,serif;font-size:21px;font-weight:500;line-height:2;animation:.7s ease-out .65s both fadeInUp}.card-description strong{letter-spacing:3px;color:#111;margin-top:6px;font-family:Cinzel,serif;font-size:26px;font-style:normal;font-weight:700;display:block}.venue-box{text-align:center;background:linear-gradient(135deg,#f9f5ef 0%,#f4ede3 100%);border-top:1px solid #e8ddd0;border-bottom:1px solid #e8ddd0;padding:20px 40px 24px;animation:.7s ease-out .75s both fadeInUp}.venue-date{letter-spacing:2px;color:#c59d5f;text-transform:uppercase;margin:0 0 10px;font-family:Cinzel,serif;font-size:20px;font-weight:700}.venue-time{letter-spacing:1.5px;color:#3a3028;margin:0 0 16px;font-family:Cinzel,serif;font-size:17px;font-weight:600}.venue-place{letter-spacing:2px;color:#3a3028;text-transform:uppercase;margin:0 0 24px;font-family:Cinzel,serif;font-size:16px;font-weight:700;line-height:2.2}.directions-btn{color:#fff;letter-spacing:2.5px;text-transform:uppercase;background:linear-gradient(135deg,#c59d5f 0%,#d4ae72 100%);border:none;border-radius:0;align-items:center;gap:10px;padding:14px 36px;font-family:Cinzel,serif;font-size:13px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 6px 24px #c59d5f73}.directions-btn:hover{background:linear-gradient(135deg,#b08a4a 0%,#c59d5f 100%);transform:translateY(-2px);box-shadow:0 10px 32px #c59d5f99}.directions-btn:active{transform:translateY(0)}.rsvp-box{text-align:center;padding:24px 40px 32px;animation:.7s ease-out .85s both fadeInUp}.rsvp-title{color:#c59d5f;margin:0 0 8px;font-family:Great Vibes,cursive;font-size:38px;line-height:1.2}.rsvp-subtitle{letter-spacing:3px;color:#7a6a5a;text-transform:uppercase;margin:0 0 28px;font-family:Cinzel,serif;font-size:14px;font-weight:700}.option{cursor:pointer;letter-spacing:1px;color:#3a3028;background:#fff;border:1.5px solid #e0d5c8;border-radius:0;justify-content:center;align-items:center;gap:10px;width:88%;max-width:440px;margin:10px auto;padding:16px 20px;font-family:Cinzel,serif;font-size:13px;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden}.option:before{content:"";opacity:0;background:linear-gradient(135deg,#f9f5ef,#fff9f3);transition:opacity .3s;position:absolute;inset:0}.option:hover{color:#3a3028;border-color:#c59d5f}.option:hover:before{opacity:1}.option.selected{color:#3a3028;border-color:#c59d5f;font-weight:600}.option.selected:before{opacity:1}.option span{z-index:1;position:relative}.submit-btn{color:#fff;cursor:pointer;letter-spacing:3px;text-transform:uppercase;opacity:.45;background:linear-gradient(135deg,#c59d5f 0%,#d4ae72 100%);border:none;border-radius:0;margin-top:28px;padding:14px 36px;font-family:Cinzel,serif;font-size:11px;font-weight:600;transition:all .3s;transform:scale(.97);box-shadow:0 4px 20px #c59d5f59}.submit-btn.active{opacity:1;animation:1.8s ease-in-out infinite subtlePulse;transform:scale(1);box-shadow:0 6px 28px #c59d5f8c}@keyframes subtlePulse{0%{box-shadow:0 6px 28px #c59d5f80}50%{box-shadow:0 8px 40px #c59d5fd9,0 0 0 6px #c59d5f26}to{box-shadow:0 6px 28px #c59d5f80}}.submit-btn.active:hover{background:linear-gradient(135deg,#b08a4a 0%,#c59d5f 100%);animation:none;transform:translateY(-2px)scale(1);box-shadow:0 10px 36px #c59d5fb3}.submit-btn:active{transform:translateY(0)scale(1)}.rsvp-warning{color:#7a5a00;background:#fffbf0;border:1px solid #e8c96a;justify-content:center;align-items:center;gap:8px;max-width:400px;margin:0 auto 4px;padding:11px 22px;font-family:Cinzel,serif;font-size:12px;font-weight:600;animation:.5s ease-out shakeIn;display:flex}.rsvp-warning-icon{font-style:normal}@keyframes shakeIn{0%{opacity:0;transform:translate(-8px)}30%{transform:translate(6px)}60%{transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.rsvp-success{text-align:center;background:linear-gradient(160deg,#fffdf9 0%,#fff8f0 50%,#fffdf9 100%);padding:56px 40px 60px;animation:.7s cubic-bezier(.22,1,.36,1) both fadeInUp}.rsvp-success-icon{margin-bottom:20px;font-size:60px;animation:.7s cubic-bezier(.22,1,.36,1) .15s both bounceIn;display:block}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.15)}75%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.rsvp-success-title{color:#c59d5f;margin:0 0 6px;font-family:Great Vibes,cursive;font-size:48px;animation:.6s ease-out .3s both fadeInUp}.rsvp-success-name{letter-spacing:3px;color:#1e1810;text-transform:uppercase;margin:0 0 20px;font-family:Cinzel,serif;font-size:16px;font-weight:700;animation:.6s ease-out .4s both fadeInUp}.rsvp-success-msg{color:#3a3028;max-width:400px;margin:0 auto 28px;font-family:Cormorant Garamond,serif;font-size:20px;font-weight:500;line-height:1.9;animation:.6s ease-out .5s both fadeInUp}.rsvp-success-divider{color:#c59d5f;font-family:Great Vibes,cursive;font-size:26px;animation:.6s ease-out .6s both fadeInUp}.invalid-card{text-align:center;max-width:500px;padding:70px 48px;animation:.7s ease-out both fadeInUp}.invalid-icon{margin-bottom:24px;font-size:60px;display:block}.invalid-title{color:#b03030;letter-spacing:1px;margin:0 0 8px;font-family:Cinzel,serif;font-size:26px;font-weight:600}.invalid-subtitle{letter-spacing:1px;color:#aaa;margin:0 0 22px;font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic}.invalid-msg{color:#7a6a5a;max-width:340px;margin:0 auto 32px;font-family:Cormorant Garamond,serif;font-size:17px;font-weight:300;line-height:1.9}.invalid-divider{color:#c59d5f;font-family:Great Vibes,cursive;font-size:26px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.confetti-piece{border-radius:2px;width:9px;height:15px;animation:linear forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-10vh)rotate(0)}80%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.firework{border-radius:50%;width:5px;height:5px;animation:1.1s cubic-bezier(.15,.5,.5,1) forwards explode;position:absolute}@keyframes explode{0%{opacity:1;transform:scale(1.5)}60%{opacity:.8}to{transform:scale(0) translate(var(--tx), var(--ty));opacity:0}}.heart{animation:ease-out forwards heartFloat;position:absolute}@keyframes heartFloat{0%{opacity:1;transform:translateY(0)rotate(-10deg)scale(1)}40%{opacity:1;transform:translateY(-80px)rotate(10deg)scale(1.1)}to{opacity:0;transform:translateY(-200px)rotate(-5deg)scale(.8)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}#hc-invitation{-webkit-font-smoothing:antialiased;background:#fff5f5;justify-content:center;align-items:flex-start;min-height:100vh;padding:24px 16px 32px;font-family:Montserrat,sans-serif;display:flex;position:relative}.hc-fx-layer{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.hc-card{z-index:2;background:#fff;border-radius:2px;width:100%;max-width:760px;animation:.9s cubic-bezier(.22,1,.36,1) both hcCardRise;position:relative;overflow:hidden;box-shadow:0 2px 4px #cc141414,0 12px 40px #cc14141f,0 40px 80px #0000000f}@keyframes hcCardRise{0%{opacity:0;transform:translateY(40px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.hc-card-hero{object-fit:cover;object-position:center 15%;width:100%;max-height:420px;display:block}.hc-rose-rule{align-items:center;gap:12px;margin:24px 0 0;padding:0 36px;display:flex}.hc-rose-rule:before,.hc-rose-rule:after{content:"";background:linear-gradient(90deg,#0000,#cc141488,#cc1414,#cc141488,#0000);flex:1;height:1px}.hc-rose-rule-petal{background:#cc1414;border-radius:50% 0;flex-shrink:0;width:8px;height:8px;transform:rotate(45deg)}.hc-card-body{text-align:center;padding:28px 40px 24px}.hc-card-eyebrow{letter-spacing:4px;color:#cc1414;text-transform:uppercase;margin:0 0 12px;font-family:Cinzel,serif;font-size:12px;font-weight:700;animation:.7s ease-out .6s both hcFadeInUp}.hc-couple-names{color:#cc1414;margin:0 0 2px;font-family:Great Vibes,cursive;font-size:74px;line-height:1.1;animation:.7s ease-out .45s both hcFadeInUp}.hc-card-title{letter-spacing:5px;text-transform:uppercase;color:#6b2020;margin:10px 0 4px;font-family:Cinzel,serif;font-size:13px;font-weight:600;line-height:1.8;animation:.7s ease-out .7s both hcFadeInUp}.hc-card-description{color:#2a0a0a;margin:0;font-family:Cormorant Garamond,serif;font-size:21px;font-weight:500;line-height:2;animation:.7s ease-out .8s both hcFadeInUp}.hc-card-description strong{letter-spacing:3px;color:#1a0000;margin-top:6px;font-family:Cinzel,serif;font-size:24px;font-style:normal;font-weight:700;display:block}.hc-venue-box{text-align:center;background:linear-gradient(135deg,#fff5f5 0%,#ffebee 100%);border-top:1px solid #ffcdd2;border-bottom:1px solid #ffcdd2;padding:20px 40px 24px;animation:.7s ease-out .9s both hcFadeInUp}.hc-venue-date{letter-spacing:2px;color:#b71c1c;text-transform:uppercase;margin:0 0 10px;font-family:Cinzel,serif;font-size:20px;font-weight:700}.hc-venue-time{letter-spacing:1.5px;color:#2a0a0a;margin:0 0 16px;font-family:Cinzel,serif;font-size:17px;font-weight:600}.hc-venue-place{letter-spacing:2px;color:#2a0a0a;text-transform:uppercase;margin:0 0 24px;font-family:Cinzel,serif;font-size:16px;font-weight:700;line-height:2.2}.hc-directions-btn{color:#fff;letter-spacing:2.5px;text-transform:uppercase;background:linear-gradient(135deg,#cc1414 0%,#b71c1c 100%);border:none;border-radius:0;align-items:center;gap:10px;padding:14px 36px;font-family:Cinzel,serif;font-size:13px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 6px 24px #cc141473}.hc-directions-btn:hover{background:linear-gradient(135deg,#b71c1c 0%,#8b0000 100%);transform:translateY(-2px);box-shadow:0 10px 32px #cc141499}.hc-directions-btn:active{transform:translateY(0)}.hc-rsvp-box{text-align:center;background:#fff;padding:24px 40px 32px;animation:.7s ease-out 1s both hcFadeInUp}.hc-rsvp-title{color:#cc1414;margin:0 0 8px;font-family:Great Vibes,cursive;font-size:38px;line-height:1.2}.hc-rsvp-subtitle{letter-spacing:3px;color:#a03030;text-transform:uppercase;margin:0 0 28px;font-family:Cinzel,serif;font-size:14px;font-weight:700}.hc-option{cursor:pointer;letter-spacing:1px;color:#2a0a0a;background:#fff;border:1.5px solid #ffcdd2;border-radius:0;justify-content:center;align-items:center;gap:10px;width:88%;max-width:440px;margin:10px auto;padding:16px 20px;font-family:Cinzel,serif;font-size:13px;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden}.hc-option:before{content:"";opacity:0;background:linear-gradient(135deg,#fff5f5,#ffebee);transition:opacity .3s;position:absolute;inset:0}.hc-option:hover{color:#2a0a0a;border-color:#cc1414}.hc-option:hover:before{opacity:1}.hc-option.selected{color:#2a0a0a;border-color:#cc1414;font-weight:600}.hc-option.selected:before{opacity:1}.hc-option span{z-index:1;position:relative}.hc-submit-btn{color:#fff;cursor:pointer;letter-spacing:3px;text-transform:uppercase;opacity:.45;background:linear-gradient(135deg,#cc1414 0%,#b71c1c 100%);border:none;border-radius:0;margin-top:28px;padding:14px 36px;font-family:Cinzel,serif;font-size:11px;font-weight:600;transition:all .3s;transform:scale(.97);box-shadow:0 4px 20px #cc141459}.hc-submit-btn.active{opacity:1;animation:1.8s ease-in-out infinite hcSubtlePulse;transform:scale(1);box-shadow:0 6px 28px #cc14148c}@keyframes hcSubtlePulse{0%{box-shadow:0 6px 28px #cc141480}50%{box-shadow:0 8px 40px #cc1414d9,0 0 0 6px #cc141426}to{box-shadow:0 6px 28px #cc141480}}.hc-submit-btn.active:hover{background:linear-gradient(135deg,#b71c1c 0%,#8b0000 100%);animation:none;transform:translateY(-2px)scale(1);box-shadow:0 10px 36px #cc1414b3}.hc-submit-btn:active{transform:translateY(0)scale(1)}.hc-rsvp-warning{color:#7f0000;background:#fff5f5;border:1px solid #ef9a9a;justify-content:center;align-items:center;gap:8px;max-width:400px;margin:0 auto 4px;padding:11px 22px;font-family:Cinzel,serif;font-size:12px;font-weight:600;animation:.5s ease-out hcShakeIn;display:flex}.hc-rsvp-warning-icon{font-style:normal}@keyframes hcShakeIn{0%{opacity:0;transform:translate(-8px)}30%{transform:translate(6px)}60%{transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.hc-rsvp-success{text-align:center;background:linear-gradient(160deg,#fff 0%,#fff5f5 50%,#fff 100%);padding:56px 40px 60px;animation:.7s cubic-bezier(.22,1,.36,1) both hcFadeInUp}.hc-rsvp-success-icon{margin-bottom:20px;font-size:60px;animation:.7s cubic-bezier(.22,1,.36,1) .15s both hcBounceIn;display:block}@keyframes hcBounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.15)}75%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hc-rsvp-success-title{color:#cc1414;margin:0 0 6px;font-family:Great Vibes,cursive;font-size:48px;animation:.6s ease-out .3s both hcFadeInUp}.hc-rsvp-success-name{letter-spacing:3px;color:#1a0000;text-transform:uppercase;margin:0 0 20px;font-family:Cinzel,serif;font-size:16px;font-weight:700;animation:.6s ease-out .4s both hcFadeInUp}.hc-rsvp-success-msg{color:#2a0a0a;max-width:400px;margin:0 auto 28px;font-family:Cormorant Garamond,serif;font-size:20px;font-weight:500;line-height:1.9;animation:.6s ease-out .5s both hcFadeInUp}.hc-rsvp-success-divider{color:#cc1414;font-family:Great Vibes,cursive;font-size:26px;animation:.6s ease-out .6s both hcFadeInUp}.hc-invalid-card{text-align:center;max-width:500px;padding:70px 48px;animation:.7s ease-out both hcFadeInUp}.hc-invalid-icon{margin-bottom:24px;font-size:60px;display:block}.hc-invalid-title{color:#b71c1c;letter-spacing:1px;margin:0 0 8px;font-family:Cinzel,serif;font-size:26px;font-weight:600}.hc-invalid-subtitle{letter-spacing:1px;color:#aaa;margin:0 0 22px;font-family:Cormorant Garamond,serif;font-size:16px;font-style:italic}.hc-invalid-msg{color:#a03030;max-width:340px;margin:0 auto 32px;font-family:Cormorant Garamond,serif;font-size:17px;font-weight:300;line-height:1.9}.hc-invalid-divider{color:#cc1414;font-family:Great Vibes,cursive;font-size:26px}@keyframes hcFadeInUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hc-confetti-piece{animation:linear forwards hcConfettiFall;position:absolute}@keyframes hcConfettiFall{0%{opacity:1;transform:translateY(-10vh)rotate(0)}80%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.hc-firework{border-radius:50%;animation:1.1s cubic-bezier(.15,.5,.5,1) forwards hcExplode;position:absolute}@keyframes hcExplode{0%{opacity:1;transform:scale(1.5)}60%{opacity:.8}to{transform:scale(0) translate(var(--tx), var(--ty));opacity:0}}.hc-heart{animation:ease-out forwards hcHeartFloat;position:absolute}@keyframes hcHeartFloat{0%{opacity:1;transform:translateY(0)rotate(-10deg)scale(1)}40%{opacity:1;transform:translateY(-80px)rotate(10deg)scale(1.1)}to{opacity:0;transform:translateY(-200px)rotate(-5deg)scale(.8)}}
