.rsvp-page{min-height:100svh;background:var(--ivory)}.rsvp-nav{position:absolute}.back-link{text-decoration:none;font:600 .72rem var(--font-ui);letter-spacing:.05em;padding:12px}.rsvp-main{position:relative;min-height:100svh;padding:110px 20px 60px;display:grid;place-items:center}.rsvp-art{position:fixed;inset:0;background-image:linear-gradient(rgba(248,243,237,.28),rgba(248,243,237,.42)),var(--rsvp-bg);background-size:cover;background-position:center;filter:saturate(.88)}.rsvp-panel{position:relative;width:min(760px,100%);padding:clamp(28px,6vw,64px);border:1px solid rgba(255,255,255,.8);border-radius:34px;background:rgba(255,253,250,.86);box-shadow:0 35px 90px rgba(64,53,72,.19);backdrop-filter:blur(20px)}.rsvp-header{text-align:center;margin-bottom:42px}.rsvp-header h1{font:500 clamp(4rem,11vw,7.5rem)/.9 var(--font-display);letter-spacing:-.05em;margin:12px 0}.rsvp-header>p:not(.eyebrow){color:var(--muted)}.rsvp-header>span{display:inline-block;margin-top:10px;font:500 1.3rem var(--font-display)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin:0 0 22px}.field label,fieldset legend{display:block;margin:0 0 9px;font:600 .72rem var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:#55515b}.field input,.field select{width:100%;min-height:53px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.82);padding:13px 15px;color:var(--ink);font:500 .95rem var(--font-body);transition:border .25s,box-shadow .25s,transform .25s}.field input:hover,.field select:hover{border-color:var(--lav)}.field input:focus,.field select:focus{outline:0;border-color:var(--lav);box-shadow:0 0 0 4px rgba(180,162,202,.18);transform:translateY(-1px)}.field.invalid input,.field.invalid select{border-color:#bd665f;animation:fieldShake .35s}@keyframes fieldShake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.phone-field{display:grid;grid-template-columns:90px 1fr}.phone-field select{border-radius:15px 0 0 15px;border-right:0}.phone-field input{border-radius:0 15px 15px 0}.guest-fields{display:grid;gap:12px;margin-bottom:24px}.guest-row{padding:18px;border-radius:18px;background:linear-gradient(135deg,var(--mint-soft),rgba(255,255,255,.7));animation:rowIn .35s cubic-bezier(.2,.8,.2,1)}.guest-row label{font:600 .7rem var(--font-ui);text-transform:uppercase;letter-spacing:.08em}.guest-row input{width:100%;min-height:48px;margin-top:8px;border:1px solid var(--line);border-radius:13px;padding:12px}.guest-row.removing{animation:rowOut .2s forwards}@keyframes rowIn{from{opacity:0;transform:translateY(-10px) scale(.98)}}@keyframes rowOut{to{opacity:0;transform:translateY(-8px);height:0;padding:0;margin:0}}fieldset{border:0;padding:0;margin:10px 0 32px}fieldset legend{font-size:.82rem;margin-bottom:15px}.select-all{width:100%;min-height:50px;display:flex;align-items:center;gap:12px;border:1px dashed var(--lav);border-radius:15px;background:var(--lav-soft);padding:10px 15px;text-align:left;cursor:pointer}.select-all span{width:23px;height:23px;border:1px solid var(--lav);border-radius:8px;background:white;transition:.25s}.select-all.selected span{background:var(--lav);box-shadow:inset 0 0 0 6px white}.rsvp-events{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.event-option{position:relative;display:grid;grid-template-columns:58px 1fr 24px;gap:12px;align-items:center;min-height:92px;padding:12px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.72);cursor:pointer;transition:.25s}.event-option:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(74,61,82,.09)}.event-option.selected{border-color:var(--lav);background:var(--lav-soft);box-shadow:0 0 0 3px rgba(180,162,202,.13)}.event-option input{position:absolute;opacity:0}.event-option img{width:58px;height:65px;object-fit:cover;border-radius:12px;transition:.35s}.event-option:hover img{transform:scale(1.05) rotate(-2deg)}.event-option strong{display:block;font:500 1.02rem var(--font-display)}.event-option small{display:block;color:var(--muted);font-size:.7rem;margin-top:4px}.check-dot{width:21px;height:21px;border:1px solid var(--lav);border-radius:50%;background:white;transition:.25s}.selected .check-dot{background:var(--lav);box-shadow:inset 0 0 0 5px white}.field-error{min-height:18px;color:#a24f49;font-size:.78rem}.optional-divider{display:flex;align-items:center;gap:15px;margin:34px 0 25px;color:var(--muted);font:600 .68rem var(--font-ui);letter-spacing:.1em;text-transform:uppercase}.optional-divider:before,.optional-divider:after{content:"";height:1px;flex:1;background:var(--line)}.dietary-other{margin-top:10px}.submit-button{width:100%;font-style:normal;position:relative}.submit-button i{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:white;border-radius:50%;animation:loaderSpin .7s linear infinite}.submit-button.loading i{display:block}.submit-button.loading span{opacity:.65}.cancel-button{width:100%;margin-top:10px}.form-status{text-align:center;color:#a24f49;min-height:22px;font-size:.82rem}.honeypot{position:absolute!important;left:-10000px!important}.summary-card{text-align:center}.summary-mark,.success-overlay>div>span{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 20px;border-radius:50%;background:var(--mint-soft);font-size:1.6rem;color:#607c68}.summary-card h2,.confirm-dialog h2,.success-overlay h2{font:500 clamp(2.5rem,6vw,4rem)/1 var(--font-display);margin:14px 0 30px}.summary-grid{display:grid;grid-template-columns:2fr 1.5fr .7fr;text-align:left;border:1px solid var(--line);border-radius:18px;overflow:hidden}.summary-grid>div{padding:18px;border-right:1px solid var(--line)}.summary-grid>div:last-child{border:0}.summary-grid small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.6rem;margin-bottom:5px}.summary-grid strong{font-size:.9rem;overflow-wrap:anywhere}.summary-events{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:25px 0}.summary-events span{padding:8px 12px;border-radius:99px;background:var(--peach-soft);font:600 .7rem var(--font-ui)}.summary-actions{display:flex;justify-content:center;gap:10px}.confirm-backdrop{opacity:1}.confirm-dialog,.success-overlay>div{width:min(470px,100%);background:var(--paper);border-radius:28px;padding:40px;text-align:center;box-shadow:var(--shadow)}.confirm-dialog>span{font-size:2rem}.confirm-dialog p,.success-overlay p{color:var(--muted);line-height:1.7}.confirm-dialog>div{display:flex;gap:10px;justify-content:center;margin-top:25px}.success-overlay{position:fixed;z-index:900;inset:0;padding:18px;background:rgba(35,31,40,.5);backdrop-filter:blur(14px);display:grid;place-items:center}.success-overlay[hidden],.confirm-backdrop[hidden]{display:none}
@media(max-width:620px){.rsvp-main{padding:88px 10px 20px}.rsvp-panel{border-radius:25px;padding:28px 16px}.rsvp-nav{width:calc(100% - 20px)}.field-grid{grid-template-columns:1fr;gap:0}.rsvp-events{grid-template-columns:1fr}.event-option{min-height:84px}.summary-grid{grid-template-columns:1fr}.summary-grid>div{border-right:0;border-bottom:1px solid var(--line)}.summary-actions,.confirm-dialog>div{display:grid}.summary-actions .button{width:100%}}
.rsvp-art{overflow:hidden}.rsvp-art:before,.rsvp-art:after{content:"";position:absolute;border:1px solid rgba(180,162,202,.22);background:rgba(255,253,250,.32);box-shadow:0 30px 80px rgba(74,61,82,.12);backdrop-filter:blur(3px);pointer-events:none}.rsvp-art:before{width:260px;height:360px;left:max(32px,8vw);top:17svh;border-radius:140px 140px 28px 28px;transform:rotate(-9deg);background-image:linear-gradient(rgba(255,253,250,.28),rgba(255,253,250,.44)),image-set(url("../images/event-mehendi.avif") type("image/avif"),url("../images/event-mehendi.avif") type("image/webp"));background-size:cover;background-position:center}.rsvp-art:after{width:220px;height:300px;right:max(28px,8vw);bottom:10svh;border-radius:28px 28px 140px 140px;transform:rotate(8deg);background-image:linear-gradient(rgba(255,253,250,.22),rgba(255,253,250,.5)),image-set(url("../images/dress-wedding.avif") type("image/avif"),url("../images/dress-wedding.avif") type("image/webp"));background-size:cover;background-position:center}.rsvp-main:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 26% 20%,rgba(231,223,240,.58),transparent 26%),radial-gradient(circle at 72% 76%,rgba(226,236,228,.56),transparent 28%),linear-gradient(180deg,rgba(255,253,250,.18),rgba(248,243,237,.82));pointer-events:none}.rsvp-panel{box-shadow:0 38px 110px rgba(64,53,72,.22),0 0 0 1px rgba(255,255,255,.62) inset}.rsvp-panel:before{content:"";position:absolute;inset:18px;border:1px solid rgba(180,162,202,.16);border-radius:24px;pointer-events:none}
@media(max-width:900px){.rsvp-art:before{width:180px;height:250px;left:-70px;top:120px}.rsvp-art:after{width:170px;height:230px;right:-70px;bottom:40px}.rsvp-panel:before{display:none}}
.rsvp-art{background-image:linear-gradient(90deg,rgba(248,243,237,.2),rgba(255,253,250,.55) 45%,rgba(248,243,237,.22)),image-set(url("../images/rsvp-minimal-bg-light.avif") type("image/avif"),url("../images/rsvp-minimal-bg-light.avif") type("image/webp"));background-size:cover;background-position:center;filter:saturate(.96) contrast(1.02)}.rsvp-art:before,.rsvp-art:after{border-radius:50%;background:none;background-image:none;backdrop-filter:none;box-shadow:none}.rsvp-art:before{width:32vw;height:32vw;min-width:260px;min-height:260px;left:5vw;top:14svh;border:1px solid rgba(180,162,202,.28);transform:none;animation:rsvpOrbital 22s linear infinite}.rsvp-art:after{width:24vw;height:24vw;min-width:210px;min-height:210px;right:7vw;bottom:9svh;border:1px solid rgba(183,148,89,.24);transform:none;animation:rsvpOrbitalReverse 26s linear infinite}.rsvp-main:before{background:radial-gradient(circle at 48% 42%,rgba(255,253,250,.82),rgba(255,253,250,.18) 34%,transparent 58%),radial-gradient(circle at 18% 18%,rgba(231,223,240,.34),transparent 28%),radial-gradient(circle at 82% 78%,rgba(226,236,228,.32),transparent 30%)}.rsvp-main:after{content:"";position:fixed;z-index:0;width:190px;height:190px;left:calc(50% - 95px);top:105px;border:1px solid rgba(180,162,202,.24);border-radius:42% 58% 48% 52%;pointer-events:none;animation:rsvpFloat 12s ease-in-out infinite}.rsvp-panel{z-index:1;background:rgba(255,253,250,.9);box-shadow:0 42px 120px rgba(64,53,72,.24),0 0 0 1px rgba(255,255,255,.72) inset}
@keyframes rsvpOrbital{to{transform:rotate(360deg)}}@keyframes rsvpOrbitalReverse{to{transform:rotate(-360deg)}}@keyframes rsvpFloat{50%{transform:translateY(18px) rotate(18deg);border-radius:58% 42% 54% 46%;opacity:.58}}
@media(max-width:900px){.rsvp-art{background-position:center}.rsvp-art:before{left:-120px;top:120px}.rsvp-art:after{right:-96px;bottom:80px}.rsvp-main:after{width:130px;height:130px;top:78px;left:auto;right:18px;opacity:.5}}
@media(prefers-reduced-motion:reduce){.rsvp-art:before,.rsvp-art:after,.rsvp-main:after{animation:none!important}}
