*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #fdf8f0;--cream-dark: #f5ede0;--white: #ffffff;--gold: #c8a96e;--gold-deep: #a88640;--navy: #0d1a3e;--crimson: #7a1020;--text: #2a1f0e;--text-muted: rgba(42, 31, 14, .56);--border: rgba(200, 169, 110, .28);--shadow-sm: 0 2px 16px rgba(0, 0, 0, .06);--shadow-md: 0 6px 36px rgba(0, 0, 0, .1)}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--text)}.app{font-family:Lato,sans-serif;overflow-x:hidden}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.section-eyebrow{font-size:.68rem;letter-spacing:.46em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.65rem}.section-heading{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);color:var(--text);line-height:1.2;margin-bottom:.6rem}.section-heading.script{font-family:Great Vibes,cursive;font-size:clamp(2.8rem,7vw,4.8rem);font-weight:400}.section-sub{font-size:.94rem;color:var(--text-muted);letter-spacing:.03em;line-height:1.72;max-width:500px;margin:0 auto 2rem}.floral-divider{width:160px;height:auto;display:block;margin:.9rem auto 1.5rem}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.1rem 2rem;transition:background .45s ease,box-shadow .45s ease,backdrop-filter .45s ease}.navbar--solid{background:#fdf8f0f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 18px #00000014}.navbar-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:Great Vibes,cursive;font-size:1.85rem;color:#fff;background:none;border:none;cursor:pointer;line-height:1;text-decoration:none;transition:color .4s}.navbar--solid .nav-logo{color:var(--text)}.nav-links{list-style:none;display:flex;align-items:center;gap:2rem}.nav-links li button{background:none;border:none;cursor:pointer;font-family:Lato,sans-serif;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:#ffffffd1;transition:color .28s}.navbar--solid .nav-links li button{color:var(--text)}.nav-links li button:hover{color:var(--gold)!important}.nav-rsvp{background:var(--gold)!important;color:#fff!important;padding:.42rem 1.25rem!important;border-radius:50px!important;transition:background .28s!important}.nav-rsvp:hover{background:var(--gold-deep)!important;color:#fff!important}@media (max-width: 600px){.nav-links{display:none}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center 25%;background-repeat:no-repeat}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#060a186b,#080e208c,#060812c7)}.hero-content{position:relative;z-index:2;animation:heroReveal 1s ease .15s both;text-align:center;color:#fff;padding:9rem 2rem 5rem;max-width:820px;width:100%}@keyframes heroReveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{font-size:.7rem;letter-spacing:.52em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}.hero-names{font-family:Great Vibes,cursive;font-size:clamp(4.5rem,14vw,10rem);font-weight:400;line-height:1.08;display:flex;flex-direction:column;align-items:center;gap:.04em;margin:0 0 1.1rem}.hero-amp{font-size:.4em;color:var(--gold);line-height:1}.hero-tagline{font-size:.8rem;letter-spacing:.32em;text-transform:uppercase;color:#ffffffad;margin-bottom:2.2rem}.hero-dates{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:2.8rem}.hero-date-pill{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;letter-spacing:.07em;color:#ffffffe0;background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(200,169,110,.42);border-radius:50px;padding:.42rem 1.05rem}.hero-date-sym,.hero-date-sep{color:var(--gold);font-size:1rem}.hero-cta{display:inline-block;padding:.88rem 2.6rem;background:transparent;border:1.5px solid var(--gold);color:#fff;font-family:Lato,sans-serif;font-size:.76rem;letter-spacing:.34em;text-transform:uppercase;cursor:pointer;border-radius:50px;transition:background .3s,color .3s}.hero-cta:hover{background:var(--gold);color:var(--navy)}.hero-scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.42rem;animation:heroScrollBounce 2.4s ease-in-out infinite}.scroll-label{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:#ffffff7a}.scroll-arrow{display:block;width:15px;height:15px;border-right:1.5px solid rgba(255,255,255,.48);border-bottom:1.5px solid rgba(255,255,255,.48);transform:rotate(45deg)}@keyframes heroScrollBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}.story-section{background:var(--cream);padding:7rem 2rem;text-align:center}.story-inner{max-width:680px;margin:0 auto}.story-text{font-size:1rem;line-height:1.82;color:var(--text-muted);margin-bottom:3rem}.countdown{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:1rem}.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:.5rem}.countdown-num{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);font-weight:600;color:var(--text);line-height:1;width:82px;height:82px;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.countdown-label{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}.countdown-note{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-top:.4rem}.ceremonies-section{background:var(--white);padding:7rem 2rem;text-align:center}.ceremonies-inner{max-width:1200px;margin:0 auto}.ceremonies-cards{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;margin-top:2.8rem}.ceremony-card{background:var(--cream);border-radius:20px;padding:2.5rem 2rem 2rem;text-align:left;border:1px solid var(--border);box-shadow:var(--shadow-md);border-top:4px solid var(--accent, var(--gold));height:100%;box-sizing:border-box}.cc-split-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0 1.4rem;margin-top:.5rem}.cc-split-sep{width:1px;background:var(--border);margin:.25rem 0;border-radius:1px}.cc-split-panel{min-width:0;display:flex;flex-direction:column}.cc-split-panel .cc-details{flex:1}.cc-split-heading{display:flex;align-items:center;gap:.45rem;font-family:Playfair Display,serif;font-size:.95rem;font-weight:600;color:var(--accent, var(--text));margin-bottom:.4rem}.ceremonies-sep{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 1.4rem;gap:1rem;flex-shrink:0}.cs-line{display:block;width:1px;flex:1;min-height:40px;background:var(--border)}@media (max-width: 700px){.ceremonies-cards{grid-template-columns:1fr;justify-items:center}.ceremony-card{width:100%;max-width:540px}.ceremonies-sep{flex-direction:row;padding:1.6rem 0;width:100%;max-width:540px}.cs-line{width:60px;height:1px;min-height:0;flex:none}}@media (max-width: 500px){.cc-split-grid{grid-template-columns:1fr}.cc-split-sep{width:100%;height:1px;margin:1rem 0}}.cc-top{display:flex;align-items:center;gap:.9rem;margin-bottom:.2rem;text-align:left}.cc-icon-large{font-size:2rem;line-height:1}.cc-faith{font-family:Playfair Display,serif;font-size:1.3rem;font-weight:600;color:var(--accent, var(--text))}.cc-details{list-style:none;margin:.5rem 0 1rem}.cc-detail-row{display:flex;align-items:flex-start;gap:.8rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.cc-detail-row:last-child{border-bottom:none}.cc-emoji{font-size:1rem;flex-shrink:0;margin-top:2px}.cc-detail-body{display:flex;flex-direction:column;gap:.1rem}.cc-label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}.cc-value{font-family:Playfair Display,serif;font-size:.92rem;font-style:italic;color:var(--text);line-height:1.4}.cc-note{font-size:.72rem;letter-spacing:.1em;color:var(--text-muted);padding-top:.9rem;border-top:1px solid var(--border);text-align:center}.location-qr{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin:1rem auto .6rem;width:fit-content;text-decoration:none;padding:.6rem;border:1px solid var(--border);border-radius:12px;background:var(--white);transition:box-shadow .2s,border-color .2s}.location-qr:hover{border-color:var(--accent, var(--gold));box-shadow:0 4px 16px #00000014}.location-qr img{display:block;border-radius:6px}.location-qr-icon{font-size:2.5rem;display:flex;align-items:center;justify-content:center;width:130px;height:130px}.location-qr-label{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.cc-date-banner{text-align:center;margin:.5rem 0 1rem;padding:.75rem 1rem;background:var(--cream-dark);border-radius:10px}.cc-date-day{display:block;font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.cc-date-date{display:block;font-family:Playfair Display,serif;font-size:1.35rem;font-weight:600;line-height:1.2}.ceremonies-sep{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:1.8rem 0;gap:1rem;width:100%;max-width:860px}.cs-line{display:block;height:1px;width:60px;background:var(--border);flex:none}.cs-heart{font-size:1.6rem;color:var(--gold)}.ceremony-scroll-container{height:300vh;position:relative}.ceremony-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.ceremony-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat;will-change:opacity}.ceremony-overlay{position:absolute;top:0;right:0;bottom:0;left:0;will-change:background}.ceremony-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem 5rem;text-align:center;color:#fff;will-change:opacity,transform;overflow-y:auto}.ceremony-badge{display:inline-flex;align-items:center;gap:.6rem;background:#ffffff1f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(200,169,110,.45);border-radius:50px;padding:.45rem 1.4rem;margin-bottom:1.4rem}.hindu-badge{border-color:#ffc85073}.badge-symbol{font-size:1.1rem;color:#c8a96e}.hindu-badge .badge-symbol{color:#ffd060}.badge-label{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:#ffffffe6}.ceremony-names{font-family:Great Vibes,cursive;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:400;color:#fff;margin:0 0 .8rem;line-height:1.15}.divider{display:flex;align-items:center;gap:.75rem;width:100%;max-width:340px;margin:0 auto 1.4rem}.divider-line{flex:1;height:1px;background:#ffffff59}.divider-gem{font-size:.55rem;color:#c8a96e}.hindu-gem{color:#ffd060}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;width:100%;max-width:580px;margin:0 auto 1.2rem}@media (max-width: 460px){.details-grid{grid-template-columns:1fr}}.detail-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:.85rem 1rem}.hindu-panel .detail-card{background:#00000038;border-color:#ffc85033}.detail-icon{font-size:1.25rem}.detail-label{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:#ffffff8c}.detail-value{font-family:Playfair Display,serif;font-size:.88rem;font-style:italic;color:#fff;line-height:1.4}.ceremony-note{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:#fff9;margin:0}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:20;display:flex;align-items:center;gap:.75rem;white-space:nowrap}.ind-label{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#fffc;min-width:4.5rem;text-align:center;transition:opacity .3s}.ind-sym{font-size:1rem}.cross-sym{color:#c8a96e}.om-sym{color:#ffd060}.ind-track{position:relative;width:100px;height:2px;background:#ffffff40;border-radius:1px}.ind-thumb{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:#c8a96e;transform:translate(-50%,-50%);will-change:left;box-shadow:0 0 8px #c8a96eb3;transition:background .3s}.characters-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-end}.char-frame{width:clamp(90px,15vw,220px);flex-shrink:0;position:relative}.char-img{width:100%;height:auto;display:block;will-change:opacity}.char-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:bottom}@media (max-width: 540px){.characters-layer{display:none}}.gallery-section{background:var(--cream);padding:7rem 2rem;text-align:center}.gallery-inner{max-width:1000px;margin:0 auto}.gallery-bento{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:230px 230px 200px;gap:1rem;margin-top:2rem}.gallery-wrap{display:flex;flex-direction:column;gap:0;opacity:0;transform:translateY(28px) scale(.97);transition:opacity .55s ease,transform .55s ease;transition-delay:calc(var(--i) * .11s)}.gallery-wrap--tall{grid-row:1 / 3}.gallery-wrap--wide{grid-column:1 / 3}.gallery-inner.visible .gallery-wrap{opacity:1;transform:none}.gallery-item{flex:1;min-height:0;position:relative;border-radius:18px;overflow:hidden;box-shadow:0 6px 24px #5032141f;cursor:pointer;transition:box-shadow .35s ease}.gallery-wrap:hover .gallery-item{box-shadow:0 12px 40px #50321438}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s cubic-bezier(.25,.46,.45,.94);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.gallery-wrap:hover .gallery-item img{transform:scale(1.07)}.gallery-protect{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.emoji-corner{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px;padding:6px 4px 0;position:relative;min-height:36px}.emoji-badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;flex:1}.emoji-badge{display:inline-flex;align-items:center;gap:3px;background:var(--cream-dark);border:1px solid var(--border);border-radius:20px;padding:3px 8px 3px 5px;font-size:.9rem;color:var(--text);line-height:1}.emoji-badge-count{font-size:.62rem;font-weight:700;color:var(--text-muted)}.emoji-picker-popup{position:absolute;bottom:calc(100% + 6px);right:0;display:flex;gap:2px;background:#1a1a1a;border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:7px 10px;animation:pickerIn .18s ease;z-index:10;white-space:nowrap}@keyframes pickerIn{0%{opacity:0;transform:scale(.75) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.emoji-pick-btn{font-size:1.35rem;background:none;border:none;cursor:pointer;padding:3px 4px;border-radius:50%;line-height:1;transition:transform .15s ease}.emoji-pick-btn:hover{transform:scale(1.4) translateY(-3px)}.emoji-pick-btn--active{filter:drop-shadow(0 0 4px rgba(255,200,100,.9))}.emoji-trigger{font-size:1.05rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--cream-dark);border:1px solid var(--border);border-radius:50%;cursor:pointer;flex-shrink:0;color:var(--text-muted);transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.emoji-trigger:hover{transform:scale(1.15);background:var(--gold);border-color:var(--gold);color:#fff}.emoji-trigger--reacted{border-color:var(--gold);color:var(--text)}.emoji-floats{position:absolute;bottom:100%;right:4px;width:50px;height:0;pointer-events:none;overflow:visible}.emoji-float{position:absolute;bottom:0;right:0;font-size:1.7rem;animation:emojiFloat 1.1s ease-out forwards;pointer-events:none}@keyframes emojiFloat{0%{opacity:1;transform:translateY(0) scale(.7)}30%{opacity:1;transform:translateY(-30px) scale(1.3)}to{opacity:0;transform:translateY(-110px) scale(.9)}}.gallery-bento{position:relative}.gallery-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:20}.gallery-burst-emoji{position:absolute;bottom:-10px;animation:galleryBurst 1.8s ease-out forwards;opacity:0;will-change:transform,opacity}@keyframes galleryBurst{0%{opacity:0;transform:translateY(0) scale(.4)}12%{opacity:1;transform:translateY(-20px) scale(1.1)}75%{opacity:.9}to{opacity:0;transform:translateY(-380px) scale(.7)}}.gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(20,10,5,.68) 0%,transparent 55%);opacity:0;transition:opacity .4s ease;display:flex;align-items:flex-end;padding:1.25rem 1.5rem;pointer-events:none}.gallery-wrap:hover .gallery-overlay{opacity:1}.gallery-overlay-text{font-family:Playfair Display,serif;font-style:italic;color:#fff;font-size:.95rem;letter-spacing:.04em;text-shadow:0 1px 6px rgba(0,0,0,.4)}.gallery-soon{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg,#f5ede0,#ede0cc);color:var(--text-muted)}.gallery-soon svg{opacity:.45}.gallery-soon span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;opacity:.6}.gallery-wrap:hover .gallery-soon{background:linear-gradient(135deg,#ede0cc,#e5d4ba)}@media (max-width: 640px){.gallery-bento{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 150px}.gallery-wrap--tall{grid-row:auto}}@media (max-width: 420px){.gallery-bento{grid-template-columns:1fr;grid-template-rows:repeat(4,220px)}.gallery-wrap--wide{grid-column:auto}}.ceremonies-single{display:flex;justify-content:center;margin-top:2.8rem}.ceremonies-single .ceremony-card{width:100%;max-width:760px}.landing{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.landing-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transform:scale(1.06);filter:blur(3px)}.landing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#080e30e0,#370812d6)}.landing-content{position:relative;z-index:1;text-align:center;color:#fff;padding:2rem 1.5rem;max-width:860px;width:100%}.landing-eyebrow{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:#ffffff80;margin-bottom:1.2rem}.landing-names{font-family:Great Vibes,cursive;font-size:clamp(2.8rem,8vw,5.5rem);font-weight:400;color:#fff;display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 0 .6rem;line-height:1.1}.landing-amp{color:var(--gold);font-size:.7em}.landing-tagline{font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:#ffffff73;margin-bottom:3.5rem}.landing-prompt{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#fff6;margin-bottom:1.6rem}.landing-cards{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.landing-card{display:flex;flex-direction:column;align-items:center;gap:.55rem;width:240px;padding:2.8rem 1.8rem 2.2rem;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-decoration:none;color:#fff;transition:transform .38s ease,border-color .38s ease,background .38s ease,box-shadow .38s ease}.landing-card:hover{transform:translateY(-10px) scale(1.03);background:#ffffff1f}.landing-card--christian{border-color:#6482e64d}.landing-card--christian:hover{border-color:#789bffa6;box-shadow:0 28px 64px #2846c852}.landing-card--hindu{border-color:#d250504d}.landing-card--hindu:hover{border-color:#dc5a5aa6;box-shadow:0 28px 64px #a01e1e52}.lc-person{font-family:Playfair Display,serif;font-size:1.45rem;font-weight:600;letter-spacing:.01em;text-align:center;line-height:1.25}.lc-detail{font-family:Playfair Display,serif;font-size:1.1rem;font-style:italic;color:#ffffffd1;letter-spacing:.03em;margin-top:.4rem}.lc-location{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#ffffff7a}.lc-enter{margin-top:1rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffff59;transition:color .25s,letter-spacing .25s}.landing-card:hover .lc-enter{color:#fffc;letter-spacing:.3em}@media (max-width: 560px){.landing-cards{flex-direction:column;align-items:center}.landing-card{width:100%;max-width:300px}}.rsvp-section{background:var(--white);padding:7rem 2rem;text-align:center}.rsvp-inner{max-width:640px;margin:0 auto}.rsvp-form{text-align:left;margin-top:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 520px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.42rem;margin-bottom:1.1rem}.form-group label{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.label-optional{font-size:.65rem;text-transform:none;letter-spacing:0;color:var(--text-muted);opacity:.7}.form-group input,.form-group select,.form-group textarea{padding:.78rem 1.05rem;border:1px solid var(--border);border-radius:10px;background:var(--cream);font-family:Lato,sans-serif;font-size:.9rem;color:var(--text);outline:none;transition:border-color .22s,box-shadow .22s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-group select{padding-right:2.4rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a88640' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;cursor:pointer}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c8a96e24}.form-group textarea{resize:vertical}.rsvp-submit{display:block;width:100%;margin-top:.6rem;padding:.95rem;background:var(--navy);color:#fff;border:none;border-radius:50px;font-family:Lato,sans-serif;font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:background .3s}.rsvp-submit:hover:not(:disabled){background:var(--gold)}.rsvp-submit:disabled{opacity:.6;cursor:not-allowed}.rsvp-flash-emoji{display:block;text-align:center;font-size:2.6rem;line-height:1;margin:.6rem auto 0;animation:rsvpEmojiFlash 2.5s ease forwards;pointer-events:none}@keyframes rsvpEmojiFlash{0%{opacity:0;transform:scale(.4) translateY(10px)}15%{opacity:1;transform:scale(1.3) translateY(-6px)}35%{opacity:1;transform:scale(1) translateY(0)}75%{opacity:1}to{opacity:0;transform:scale(.8) translateY(-8px)}}.form-group--disabled label{color:var(--text-muted)}.form-group--disabled select{opacity:.4;cursor:not-allowed;background-color:var(--cream-dark)}.rsvp-error{font-size:.82rem;color:#c0392b;background:#c0392b14;border:1px solid rgba(192,57,43,.22);border-radius:8px;padding:.7rem 1rem;margin-bottom:.8rem;text-align:center}.rsvp-whatsapp-divider{display:flex;align-items:center;gap:1rem;margin:1.8rem 0 1.4rem}.rsvp-whatsapp-divider:before,.rsvp-whatsapp-divider:after{content:"";flex:1;height:1px;background:var(--border)}.rsvp-or{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.rsvp-whatsapp{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.85rem 1.5rem;background:#25d366;color:#fff;border-radius:10px;font-size:.92rem;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:background .2s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 14px #25d3664d}.rsvp-whatsapp:hover{background:#1ebe5d;transform:translateY(-2px);box-shadow:0 6px 20px #25d36666}.rsvp-confirm{text-align:center;margin-top:1rem}.rsvp-confirm-heading{font-family:Playfair Display,serif;font-size:1.25rem;color:var(--text);margin-bottom:1.4rem}.rsvp-compare{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.8rem;flex-wrap:wrap}.rsvp-compare-col{flex:1;min-width:200px;background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:1.2rem;text-align:left}.rsvp-compare-col--new{background:#c8a96e14;border-color:var(--gold)}.rsvp-compare-label{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.8rem}.rsvp-compare-col--new .rsvp-compare-label{color:var(--gold-deep)}.rsvp-compare-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.rsvp-compare-list li{display:flex;flex-direction:column;gap:.1rem}.rsvp-compare-list li span{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.rsvp-compare-list li strong{font-size:.88rem;font-weight:400;color:var(--text)}.rsvp-compare-arrow{font-size:1.4rem;color:var(--gold);align-self:center;flex-shrink:0}@media (max-width: 520px){.rsvp-compare{flex-direction:column}.rsvp-compare-arrow{transform:rotate(90deg);align-self:center}}.rsvp-confirm-question{font-size:.9rem;color:var(--text-muted);margin-bottom:1.2rem}.rsvp-confirm-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.rsvp-cancel{padding:.88rem 2rem;background:transparent;border:1.5px solid var(--border);color:var(--text-muted);border-radius:50px;font-family:Lato,sans-serif;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:border-color .25s,color .25s}.rsvp-cancel:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.rsvp-thanks{padding:3rem 1rem;text-align:center}.rsvp-thanks-heart{font-size:3.2rem;color:var(--gold);margin-bottom:1rem;line-height:1}.rsvp-thanks h3{font-family:Playfair Display,serif;font-size:1.9rem;margin-bottom:.6rem}.rsvp-thanks p{color:var(--text-muted);font-size:.96rem}.footer{background:#08080f;color:#fff;text-align:center;padding:5.5rem 2rem 3.5rem}.footer-ornament{font-size:1.25rem;color:var(--gold);letter-spacing:.48rem;margin-bottom:1.6rem}.footer-couple{font-family:Great Vibes,cursive;font-size:clamp(2.5rem,6vw,4.2rem);font-weight:400;color:var(--gold);margin-bottom:.5rem}.footer-tagline{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:#ffffff61;margin-bottom:1.6rem}.footer-message{font-size:.94rem;color:#ffffff8c;letter-spacing:.04em;line-height:1.65;max-width:440px;margin:0 auto 1.2rem}.footer-dates{font-size:.72rem;letter-spacing:.22em;color:#c8a96e8c;text-transform:uppercase}
