*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:Cormorant Garamond,Georgia,serif;-webkit-font-smoothing:antialiased;background-color:#c8d5bf;overflow:hidden}.intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background-color:#c5d0bc;display:flex;align-items:center;justify-content:center}.intro-monogram{display:flex;align-items:center;gap:16px}.intro-initial{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(4rem,18vw,7rem);color:#1a1a1a;letter-spacing:.1em;line-height:1}.intro-amp{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(2.5rem,10vw,4.5rem);color:#1a1a1a;line-height:1}.page{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#c5d0bc;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:40px 16px}.flowers{position:fixed;width:clamp(260px,36vw,480px);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:30}.flowers-bl{bottom:-40px;left:-40px;transform:rotate(180deg)}.flowers-tr{top:0;right:-40px;transform:rotate(180deg)}.arch-wrapper{position:relative;margin-top:-45px;z-index:20;display:flex;align-items:center;justify-content:center;width:100%}.arch-card{position:relative;width:clamp(300px,90vw,440px);aspect-ratio:5 / 7.5}.arch-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;border-radius:0}.arch-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:6% 8% 8%;text-align:center}.invite-content{display:flex;flex-direction:column;align-items:center;gap:0;width:100%}.bismillah{width:68%;max-width:220px;margin-bottom:18px;filter:brightness(.12);opacity:.85}.bismillah-sm{width:55%;max-width:160px}.invite-tagline{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400;font-size:clamp(.78rem,2.2vw,.9rem);color:#2c2c2c;line-height:1.6;margin-bottom:18px;letter-spacing:.01em}.name{font-family:Cormorant Garamond,serif;font-weight:400;font-size:clamp(1.15rem,4vw,1.55rem);color:#1a1a1a;letter-spacing:.22em;text-transform:uppercase;line-height:1.2;margin-bottom:2px}.ampersand{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(1.5rem,5vw,2.1rem);color:#2c2c2c;line-height:1;margin:8px 0}.divider{width:48px;height:1px;background:#8a9e7a;margin:14px auto 12px;opacity:.7}.date{font-family:Cormorant Garamond,serif;font-weight:400;font-size:clamp(.72rem,2vw,.82rem);letter-spacing:.2em;color:#1a1a1a;text-transform:uppercase;margin-bottom:2px}.time{font-family:Cormorant Garamond,serif;font-weight:300;font-size:clamp(.68rem,1.8vw,.76rem);letter-spacing:.18em;color:#3a3a3a;text-transform:uppercase;margin-bottom:14px}.venue{font-family:Cormorant Garamond,serif;font-weight:400;font-size:clamp(.72rem,2vw,.82rem);letter-spacing:.15em;color:#1a1a1a;text-transform:uppercase;margin-bottom:3px}.address{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:400;font-size:clamp(.68rem,1.8vw,.76rem);color:#4a4a4a;letter-spacing:.03em;margin-bottom:22px}.rsvp-btn{font-family:Cormorant Garamond,serif;font-weight:400;font-size:clamp(.72rem,2vw,.8rem);letter-spacing:.28em;text-transform:uppercase;color:#1a1a1a;background:transparent;border:1px solid #6b8060;padding:10px 30px;cursor:pointer;transition:background .3s ease,color .3s ease;outline:none}@media(hover:hover){.rsvp-btn:hover{background:#6b8060;color:#f7f5f0}}.rsvp-content{width:100%;display:flex;flex-direction:column;align-items:center}.rsvp-form{display:flex;flex-direction:column;align-items:center;width:100%;gap:0}.rsvp-heading{font-family:Cormorant Garamond,serif;font-weight:400;font-size:clamp(1.3rem,4vw,1.7rem);letter-spacing:.2em;color:#1a1a1a;margin-bottom:4px}.rsvp-sub{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(.68rem,1.8vw,.76rem);color:#5a5a5a;margin-bottom:20px;letter-spacing:.02em}.field-group{width:100%;display:flex;flex-direction:column;align-items:flex-start;margin-bottom:12px}.field-label{font-family:Cormorant Garamond,serif;font-size:clamp(.62rem,1.6vw,.7rem);letter-spacing:.2em;color:#3a3a3a;text-transform:uppercase;margin-bottom:5px}.field-input{width:100%;background:transparent;border:none;border-bottom:1px solid #8a9e7a;padding:6px 2px;font-family:Cormorant Garamond,serif;font-size:clamp(.85rem,2.4vw,.95rem);color:#1a1a1a;outline:none;transition:border-color .3s ease;letter-spacing:.03em}.field-input::placeholder{color:#aab8a0;font-style:italic}.field-input:focus{border-bottom-color:#4a5e3a}.field-input[type=number]::-webkit-inner-spin-button,.field-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field-input[type=number]{-moz-appearance:textfield}.submit-btn{margin-top:20px;width:100%}.submit-btn:disabled{opacity:.7;cursor:default}.spinner{display:inline-block;width:16px;height:16px;border:1.5px solid #6b8060;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.back-btn{background:none;border:none;font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(.72rem,1.8vw,.8rem);color:#6b8060;cursor:pointer;margin-top:10px;letter-spacing:.05em;transition:opacity .2s ease}.back-btn:hover{opacity:.6}.thanks{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.thanks-heading{font-family:Cormorant Garamond,serif;font-weight:400;font-size:clamp(1.2rem,3.5vw,1.5rem);letter-spacing:.15em;color:#1a1a1a;margin-top:10px}.thanks-msg{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(.85rem,2.2vw,.95rem);color:#3a3a3a;line-height:1.7}.thanks-detail{font-family:Cormorant Garamond,serif;font-size:clamp(.65rem,1.6vw,.72rem);letter-spacing:.18em;color:#6b8060;text-transform:uppercase;margin-top:8px;line-height:1.8}@media(max-width:600px){.flowers{width:clamp(200px,62vw,300px)}.flowers-bl{bottom:-10px;left:-10px}.flowers-tr{top:0;right:-10px}.arch-card{aspect-ratio:5 / 8}.bismillah{margin-top:24px}.invite-tagline{font-size:.88rem}.name{font-size:1.15rem}.ampersand{font-size:1.6rem}.date,.time,.venue{font-size:.75rem}.address{font-size:.7rem}.rsvp-heading{font-size:1.6rem}.rsvp-sub{font-size:.82rem}.field-group{margin-bottom:18px}.field-label{font-size:.75rem;margin-bottom:8px}.field-input{font-size:1.05rem;border:none;border-bottom:1px solid #8a9e7a;padding:10px 2px;background:transparent}.field-input:focus{border-bottom-color:#4a5e3a}.rsvp-btn{font-size:.82rem;padding:12px 30px}.back-btn{font-size:.85rem}}
