:root{--cream:#fff5e6;--cream-deep:#fde2c8;--paper:#fdf2dc;--blush:#f8d4c5;--ink:#2a0a0a;--ink-soft:#5a3a2a;--crimson:#8b1a1a;--crimson-deep:#5a0e0e;--maroon:#6b2020;--marigold:#e09236;--marigold-deep:#b46b1c;--rose:#c54040;--rose-light:#d49ab5;--gold:#b18838;--gold-bright:#d4af65;--cd-bg-1:#6d1e2a;--cd-bg-2:#4f1320;--cd-border:#f0c98d;--cd-num:#ffe8c4;--cd-label:#f0c98d;--cd-glow:#f57a8480;--cd-glow-strong:#f57a84d9;--cd-glow-soft:#f0c98d73;--w-accent:#8b1a1a;--w-accent-text:#fff5e6;--w-bg:#fff5e6;--w-text:#2a0a0a;--w-card-bg:#fff5e6bf;--w-border:#8b1a1a4d;--w-shadow:#5a0e0e33;--w-font-display:"Cinzel", serif;--w-font-script:"Pinyon Script", cursive;--w-curtain-a:var(--w-accent);--w-curtain-b:color-mix(in srgb, var(--w-accent) 65%, black);--container-width:800px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Cormorant Garamond,serif;line-height:1.6;overflow-x:hidden}img{max-width:100%}#petalsCanvas{pointer-events:none;z-index:50;position:fixed;inset:0}.invite{max-width:var(--container-width);background:radial-gradient(ellipse at 50% 0%, #f8d4c580, transparent 55%), radial-gradient(ellipse at 50% 100%, #d49ab54d, transparent 55%), linear-gradient(180deg, var(--cream) 0%, var(--cream-deep) 100%);min-height:100vh;margin:0 auto;position:relative;overflow:hidden}.arch-bg{object-fit:fill;z-index:1;opacity:0;pointer-events:none;width:100%;height:100%;animation:1.6s .2s forwards archIn;position:absolute;inset:0}@keyframes archIn{to{opacity:1}}.couple{z-index:6;opacity:0;filter:drop-shadow(0 10px 18px #0000002e);width:clamp(220px,45vw,360px);height:auto;margin:30px auto 20px;animation:1.4s cubic-bezier(.34,1.56,.64,1) 1s forwards coupleIn;display:block;position:relative}@keyframes coupleIn{0%{opacity:0;transform:translateY(40px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}.arch-content{text-align:center;z-index:7;color:var(--crimson-deep);padding:80px 12% 0;position:relative}.arch-eyebrow{letter-spacing:.45em;text-transform:uppercase;color:var(--maroon);opacity:0;margin-bottom:8px;font-family:Cinzel,serif;font-size:clamp(9px,1.3vw,11px);animation:1.2s 1.6s forwards archTextFadeIn}@keyframes archTextFadeIn{to{opacity:.9}}.names{color:var(--crimson-deep);perspective:600px;margin:4px 0;font-family:Pinyon Script,cursive;font-size:clamp(32px,6.5vw,52px);line-height:.95}.names .word{white-space:nowrap;transform-style:preserve-3d;display:inline-block}.names .letter{opacity:0;animation:.8s cubic-bezier(.34,1.56,.64,1) forwards letterIn;display:inline-block;transform:translateY(35px)rotateX(-90deg)}@keyframes letterIn{to{opacity:1;transform:translateY(0)rotateX(0)}}.amp{color:var(--marigold-deep);opacity:0;margin:2px 0;font-family:Great Vibes,cursive;font-size:clamp(20px,3.5vw,28px);line-height:1;animation:1.2s 2.5s forwards archTextFadeIn}.details{z-index:5;text-align:center;padding:30px 50px 50px;position:relative}.salutation{color:var(--crimson-deep);max-width:480px;margin-bottom:20px;margin-left:auto;margin-right:auto;font-size:16px;font-style:italic;line-height:1.7}.date-row{border-top:1px solid var(--crimson);border-bottom:1px solid var(--crimson);background:#fff5e680;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;max-width:520px;margin:30px auto 22px;padding:20px 0;display:grid}.date-divider{background:var(--crimson);align-self:center;width:1px;height:54px;transition:transform 1s .6s;transform:scaleY(0)}.date-divider.in{transform:scaleY(1)}.date-cell{text-align:center;opacity:0;padding:0 12px;transition:opacity 1.4s,transform 1.4s}.date-cell.left{transform:translate(-80px)}.date-cell.mid{transition-delay:.2s;transform:translateY(30px)}.date-cell.right{transition-delay:.4s;transform:translate(80px)}.date-cell.in{opacity:1;transform:translate(0)}.date-cell .lbl{letter-spacing:.3em;text-transform:uppercase;color:var(--crimson-deep);font-family:Cinzel,serif;font-size:14px;font-weight:600}.date-cell .big{color:var(--crimson-deep);font-family:Cinzel,serif;font-size:32px;font-weight:500}.venue{text-align:center;margin:20px 0}.venue .vname{letter-spacing:.32em;text-transform:uppercase;color:var(--crimson-deep);font-family:Cinzel,serif;font-size:15px;font-weight:600}.venue .vaddr{color:var(--ink-soft);margin-top:6px;font-size:14px;font-style:italic}.floral{pointer-events:none;z-index:3;opacity:0;animation:1.3s cubic-bezier(.34,1.56,.64,1) both floralBloom;position:absolute}.floral.bl{width:clamp(180px,35vw,280px);animation-name:floralBloom,floralSwayA;animation-duration:1.3s,8s;animation-timing-function:cubic-bezier(.34,1.56,.64,1),ease-in-out;animation-iteration-count:1,infinite;animation-delay:1.4s;animation-fill-mode:both,none;bottom:-20px;left:-30px}.floral.br{width:clamp(180px,35vw,280px);animation-name:floralBloom,floralSwayB;animation-duration:1.3s,8.5s;animation-timing-function:cubic-bezier(.34,1.56,.64,1),ease-in-out;animation-iteration-count:1,infinite;animation-delay:1.6s;animation-fill-mode:both,none;bottom:-20px;right:-30px;transform:scaleX(-1)}@keyframes floralBloom{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes floralSwayA{0%,to{transform:scale(1)rotate(-1.5deg)}50%{transform:scale(1)rotate(1.5deg)}}@keyframes floralSwayB{0%,to{transform:scaleX(-1)rotate(1.5deg)}50%{transform:scaleX(-1)rotate(-1.5deg)}}.reveal{opacity:0;transition:opacity 1.2s,transform 1.2s}.reveal-up{transform:translateY(40px)}.reveal.in{opacity:1;transform:translateY(0)}.countdown{z-index:4;justify-content:center;gap:10px;margin:26px auto;display:flex;position:relative}.ct{background:linear-gradient(180deg, var(--cd-bg-1) 0%, var(--cd-bg-2) 100%);border:1px solid var(--cd-border);text-align:center;width:72px;box-shadow:0 0 22px var(--cd-glow);border-radius:10px;padding:14px 4px;animation:2.4s ease-in-out infinite rp-cd-pulse}@keyframes rp-cd-pulse{0%,to{box-shadow:0 0 18px var(--cd-glow)}50%{box-shadow:0 0 36px var(--cd-glow-strong), 0 0 60px var(--cd-glow-soft)}}.ct .n{color:var(--cd-num);font-variant-numeric:tabular-nums;text-shadow:0 0 12px var(--cd-glow);transform-origin:50%;backface-visibility:hidden;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:600;line-height:1;display:inline-block}.ct .l{letter-spacing:.2em;text-transform:uppercase;color:var(--cd-label);margin-top:5px;font-family:Cinzel,serif;font-size:8px}.w-cd-flip{animation:.55s cubic-bezier(.65,0,.35,1) w-cd-flip-anim}@keyframes w-cd-flip-anim{0%{filter:brightness();transform:rotateX(0)}50%{filter:brightness(1.35);opacity:.45;transform:rotateX(90deg)}to{filter:brightness();transform:rotateX(0)}}.w-cd-heading{text-align:center;z-index:4;max-width:600px;margin:44px auto 14px;padding:0 16px;position:relative}.w-cd-eyebrow{letter-spacing:.5em;text-transform:uppercase;color:var(--w-accent);opacity:.85;margin-bottom:10px;font-family:Cinzel,serif;font-size:11px}.w-cd-title{font-family:var(--w-font-script);color:var(--w-accent);font-size:clamp(28px,5vw,44px);line-height:1.15}.w-cd-days-text{letter-spacing:.05em;vertical-align:-.18em;color:var(--w-accent);font-variant-numeric:tabular-nums;margin-right:6px;font-family:Cinzel,serif;font-size:clamp(38px,7vw,56px);font-weight:600;display:inline-block}.w-cd-days-label{text-transform:uppercase;letter-spacing:.3em;vertical-align:.25em;opacity:.85;margin-right:6px;font-family:Cinzel,serif;font-size:.45em}.w-cd-tail{margin-top:4px;font-style:italic;display:block}.w-scratch-section{text-align:center;margin:36px auto 28px}.w-scratch-wrap{border:1px solid var(--w-accent);width:min(360px,86%);height:178px;box-shadow:0 0 26px var(--w-shadow);border-radius:6px;margin:22px auto 8px;position:relative;overflow:hidden}.w-scratch-content{background:radial-gradient(ellipse at center, #ffecbc33, transparent 72%), var(--w-accent);color:var(--w-accent-text);flex-direction:column;justify-content:center;align-items:center;padding:0 14px;display:flex;position:absolute;inset:0}.w-scratch-date{font-family:var(--w-font-script);color:var(--w-accent-text);text-align:center;max-width:92%;margin-bottom:10px;font-size:clamp(20px,4.4vw,28px);line-height:1.15}.w-scratch-time{font-family:var(--w-font-script);color:var(--w-accent-text);font-size:clamp(24px,5vw,34px);font-style:italic;line-height:1}.w-scratch-canvas{touch-action:none;cursor:grab;width:100%;height:100%;transition:opacity .9s;position:absolute;inset:0}.w-scratch-canvas:active{cursor:grabbing}.w-scratch-canvas.revealed{opacity:0;pointer-events:none}.w-scratch-wrap.revealed .w-scratch-date,.w-scratch-wrap.revealed .w-scratch-time{animation:.9s cubic-bezier(.34,1.56,.64,1) both w-time-reveal}.w-scratch-wrap.revealed .w-scratch-content{animation:1.1s both w-content-flash}@keyframes w-time-reveal{0%{opacity:.25;filter:blur(3px);letter-spacing:.18em;transform:scale(.7)}60%{opacity:1;filter:blur();transform:scale(1.12)}to{transform:scale(1)}}@keyframes w-content-flash{0%{box-shadow:inset 0 0 #e6c87800}40%{box-shadow:inset 0 0 60px #e6c87880}to{box-shadow:inset 0 0 #e6c87800}}.w-heading{text-align:center;margin-bottom:28px}.w-heading-script{font-family:var(--w-font-script);color:var(--w-accent);margin-bottom:4px;font-size:clamp(38px,6vw,52px);line-height:1}.w-heading-sub{font-family:var(--w-font-display);letter-spacing:.4em;text-transform:uppercase;color:var(--w-accent);opacity:.75;font-size:11px}.invite-widgets{z-index:3;max-width:720px;color:var(--w-text);margin:60px auto 40px;padding:0 24px;font-family:inherit;position:relative}.w-actions{grid-template-columns:repeat(2,1fr);gap:12px;max-width:420px;margin:0 auto 50px;display:grid}.w-btn{background:var(--w-card-bg);border:1px solid var(--w-border);width:100%;height:100%;min-height:80px;color:var(--w-text);font-family:var(--w-font-display);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 12px;font-size:11px;text-decoration:none;transition:all .3s;display:flex;position:relative}.w-btn:hover,.w-btn:focus-visible{background:var(--w-accent);color:var(--w-accent-text);border-color:var(--w-accent);box-shadow:0 8px 24px var(--w-shadow);outline:none;transform:translateY(-2px)}.w-btn svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:22px;height:22px}.w-btn .w-btn-label{line-height:1.2}.w-dropdown{width:100%;height:100%;display:flex;position:relative}.w-dropdown-menu{background:var(--w-bg);border:1px solid var(--w-border);min-width:200px;box-shadow:0 14px 36px var(--w-shadow);opacity:0;visibility:hidden;z-index:20;border-radius:4px;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;transform:translate(-50%)translateY(-6px)}.w-dropdown.open .w-dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.w-dropdown-item{font-family:var(--w-font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--w-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:11px;text-decoration:none;transition:background .2s,color .2s;display:flex}.w-dropdown-item:not(:last-child){border-bottom:1px solid var(--w-border)}.w-dropdown-item:hover{background:var(--w-accent);color:var(--w-accent-text)}.w-dropdown-item svg{flex-shrink:0;width:16px;height:16px}@media (width<=480px){.w-dropdown-menu{border-radius:8px;width:min(320px,100vw - 32px);min-width:0;position:fixed;top:auto;bottom:18px;left:50%;transform:translate(-50%)translateY(12px)}.w-dropdown.open .w-dropdown-menu{transform:translate(-50%)translateY(0)}}.w-rsvp{margin-bottom:50px}.w-rsvp-card{background:var(--w-card-bg);border:1px solid var(--w-border);border-radius:4px;padding:24px}.w-field{margin-bottom:18px}.w-field label{font-family:var(--w-font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--w-accent);opacity:.85;margin-bottom:6px;font-size:10px;display:block}.w-field input[type=text],.w-field input[type=tel],.w-field input[type=number],.w-field input[type=email],.w-field textarea{background:var(--w-card-bg);border:1px solid var(--w-border);width:100%;color:var(--w-text);border-radius:4px;outline:none;padding:12px 14px;font-family:inherit;font-size:16px;transition:border-color .2s,background .2s}.w-field textarea{resize:vertical;min-height:90px}.w-field input:focus,.w-field textarea:focus{border-color:var(--w-accent);background:var(--w-bg)}.w-radio-row{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.w-radio{position:relative}.w-radio input{opacity:0;pointer-events:none;position:absolute}.w-radio span{text-align:center;border:1px solid var(--w-border);cursor:pointer;font-family:var(--w-font-display);letter-spacing:.15em;text-transform:uppercase;background:var(--w-card-bg);color:var(--w-text);border-radius:4px;padding:12px 8px;font-size:10px;transition:all .2s;display:block}.w-radio input:checked+span{background:var(--w-accent);color:var(--w-accent-text);border-color:var(--w-accent)}.w-submit{background:var(--w-accent);width:100%;color:var(--w-accent-text);font-family:var(--w-font-display);letter-spacing:.3em;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;margin-top:8px;padding:14px;font-size:11px;transition:all .3s}.w-submit:hover{letter-spacing:.4em;filter:brightness(1.1)}.w-submit:disabled{opacity:.6;cursor:not-allowed}.w-success{text-align:center;padding:30px 0;display:none}.w-success.show{animation:.6s cubic-bezier(.34,1.56,.64,1) w-pop;display:block}@keyframes w-pop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.w-success-circle{background:var(--w-accent);width:72px;height:72px;color:var(--w-accent-text);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 18px;display:flex;position:relative}.w-success-circle svg{stroke:currentColor;fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;stroke-dashoffset:50px;width:32px;height:32px;animation:.5s .2s forwards w-check}@keyframes w-check{to{stroke-dashoffset:0}}.w-success-title{font-family:var(--w-font-script);color:var(--w-accent);margin-bottom:4px;font-size:36px;line-height:1}.w-success-msg{opacity:.8;font-size:14px;font-style:italic}.w-wishes{margin-top:50px}.w-wish-form{background:var(--w-card-bg);border:1px solid var(--w-border);border-radius:4px;margin-bottom:28px;padding:24px}.w-wish-form-title{font-family:var(--w-font-script);color:var(--w-accent);text-align:center;margin-bottom:4px;font-size:28px;line-height:1}.w-wish-form-sub{text-align:center;opacity:.7;margin-bottom:18px;font-size:13px;font-style:italic}.w-photo-upload{border:1px dashed var(--w-border);cursor:pointer;font-family:var(--w-font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--w-accent);background:0 0;border-radius:4px;align-items:center;gap:12px;padding:12px 14px;font-size:11px;transition:border-color .2s,background .2s;display:flex}.w-photo-upload:hover{border-color:var(--w-accent);background:var(--w-card-bg)}.w-photo-upload svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:18px;height:18px}.w-photo-upload input{display:none}.w-photo-preview{border-radius:4px;max-width:200px;margin-top:12px;display:none;position:relative;overflow:hidden}.w-photo-preview.show{animation:.5s cubic-bezier(.34,1.56,.64,1) w-pop;display:block}.w-photo-preview img{width:100%;height:auto;display:block}.w-photo-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex;position:absolute;top:6px;right:6px}.w-music-btn{z-index:220;background:var(--w-card-bg);-webkit-backdrop-filter:blur(8px);border:1px solid var(--w-accent);width:48px;height:48px;color:var(--w-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s,background .3s,color .3s,box-shadow .3s;display:flex;position:fixed;top:16px;right:16px}.w-music-btn:hover{box-shadow:0 8px 24px var(--w-shadow);transform:scale(1.08)}.w-music-btn.on{background:var(--w-accent);color:var(--w-accent-text)}.w-music-btn svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:20px;height:20px}.w-music-pulse{border:2px solid var(--w-accent);opacity:.5;pointer-events:none;border-radius:50%;animation:2.6s ease-out infinite w-music-pulse;position:absolute;inset:-2px}.w-music-btn.on .w-music-pulse{display:none}@keyframes w-music-pulse{0%{opacity:.45;transform:scale(1)}70%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.w-branding{text-align:center;border-top:1px solid var(--w-border);margin:52px auto 12px;padding-top:28px}.w-branding a{background:var(--w-accent);color:var(--w-accent-text);font-family:var(--w-font-display);letter-spacing:.16em;text-transform:uppercase;box-shadow:0 10px 28px var(--w-shadow);border-radius:999px;align-items:center;gap:10px;padding:15px 30px;font-size:15px;text-decoration:none;transition:transform .3s,box-shadow .3s,filter .3s;display:inline-flex}.w-branding a:hover{box-shadow:0 16px 36px var(--w-shadow);filter:brightness(1.1);transform:translateY(-3px)}.w-branding-heart{color:#ff5e6c;font-size:18px;animation:1.5s ease-in-out infinite w-brand-beat;display:inline-block}.w-branding-name{letter-spacing:.1em;font-weight:600}@keyframes w-brand-beat{0%,to{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}}.w-branding-social{justify-content:center;align-items:center;gap:14px;margin-top:16px;display:flex}.w-branding-social a.w-social{color:#fff;letter-spacing:normal;text-transform:none;width:42px;height:42px;box-shadow:0 8px 20px var(--w-shadow);border-radius:999px;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:transform .25s,box-shadow .25s,filter .25s;display:inline-flex}.w-branding-social a.w-social:hover{filter:brightness(1.08);box-shadow:0 12px 26px var(--w-shadow);transform:translateY(-3px)}.w-branding-social a.w-social svg{width:22px;height:22px;display:block}.w-branding-social a.w-social.w-social-fb{background:#1877f2}.w-branding-social a.w-social.w-social-wa{background:#25d366}.footer{text-align:center;border-top:1px dashed var(--gold);z-index:5;margin:40px 30px 30px;padding-top:24px;position:relative}.footer-sub{letter-spacing:.4em;text-transform:uppercase;color:var(--marigold-deep);margin-top:8px;font-family:Cinzel,serif;font-size:10px}.w-curtain{z-index:9999;pointer-events:auto;align-items:stretch;display:flex;position:fixed;inset:0}.w-curtain.opening{pointer-events:none}.w-curtain.closed{display:none}.w-curtain-half{background:radial-gradient(ellipse at 50% 0%, #ffffff14, transparent 60%), linear-gradient(180deg, var(--w-curtain-a), var(--w-curtain-b));flex:1;transition:transform 1.6s cubic-bezier(.65,0,.35,1);position:relative;box-shadow:0 0 60px #0006}.w-curtain-half:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(90deg,#0000 0,#00000014 6px,#0000 12px,#ffffff0d 18px,#0000 24px);position:absolute;inset:0}.w-curtain-half.left:after,.w-curtain-half.right:after{content:"";pointer-events:none;width:40px;position:absolute;top:0;bottom:0}.w-curtain-half.left:after{background:linear-gradient(90deg,#0000,#00000080);right:0}.w-curtain-half.right:after{background:linear-gradient(-90deg,#0000,#00000080);left:0}.w-curtain.opening .w-curtain-half.left{transform:translate(-101%)}.w-curtain.opening .w-curtain-half.right{transform:translate(101%)}.w-curtain-center{z-index:10000;pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:30px;transition:opacity .5s,transform .5s;display:flex;position:fixed;inset:0}.w-curtain.opening+.w-curtain-center{opacity:0;transform:scale(.92)}.w-curtain-eyebrow{font-family:var(--w-font-display);letter-spacing:.5em;text-transform:uppercase;color:var(--w-accent-text);opacity:.85;font-size:12px}.w-curtain-prompt{font-family:var(--w-font-script);color:var(--w-accent-text);text-shadow:0 4px 20px #00000073;font-size:clamp(48px,9vw,88px);line-height:1;animation:2.6s ease-in-out infinite w-curtain-prompt-pulse}@keyframes w-curtain-prompt-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.w-curtain-event{font-family:var(--w-font-display);letter-spacing:.4em;text-transform:uppercase;color:var(--w-accent-text);opacity:.9;margin-top:12px;font-size:clamp(12px,1.8vw,15px)}.w-curtain-btn{pointer-events:auto;background:var(--w-accent-text);color:var(--w-accent);border:1px solid var(--w-accent-text);font-family:var(--w-font-display);letter-spacing:.35em;text-transform:uppercase;cursor:pointer;border-radius:4px;padding:14px 36px;font-size:11px;text-decoration:none;transition:all .3s;display:inline-block;box-shadow:0 8px 24px #00000059}.w-curtain-btn:hover{letter-spacing:.45em;transform:translateY(-2px);box-shadow:0 12px 32px #00000073}.w-curtain-tassel{z-index:10001;background:linear-gradient(180deg, var(--w-accent-text), transparent);pointer-events:none;width:4px;height:80px;transition:opacity .5s;position:fixed;top:0;left:50%;transform:translate(-50%)}.w-curtain-tassel:after{content:"";background:var(--w-accent-text);border-radius:50% 50% 30% 30%;width:16px;height:22px;position:absolute;top:70px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0006}.w-curtain.opening~.w-curtain-tassel{opacity:0}.w-toast{background:var(--w-text);color:var(--w-bg);font-family:var(--w-font-display);letter-spacing:.25em;text-transform:uppercase;opacity:0;z-index:250;pointer-events:none;border-radius:4px;padding:12px 22px;font-size:11px;transition:opacity .3s,transform .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 8px 24px #0000004d}.w-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.w-field-error{font-family:var(--w-font-display);letter-spacing:.12em;color:var(--rose);margin-top:6px;font-size:10px;display:block}.w-field.invalid input,.w-field.invalid textarea{border-color:var(--rose)}@media (width<=540px){.details{padding:24px 18px 40px}.countdown{gap:8px;margin:24px 18px}.footer{margin:30px 18px}.date-row{grid-template-columns:1fr;gap:12px;padding:14px 0}.date-divider{display:none}.date-cell.left,.date-cell.right{transform:translateY(20px)}.date-cell.in{transform:translateY(0)}.arch-content{padding:56px 8% 0}.invite-widgets{padding:0 14px}.w-rsvp-card,.w-wish-form{padding:18px 14px}.w-branding{margin-top:38px;padding-top:20px}.w-branding a{letter-spacing:.12em;gap:7px;padding:11px 18px;font-size:11px}.w-branding-heart{font-size:13px}.w-branding-social{gap:12px;margin-top:13px}.w-branding-social a.w-social{width:38px;height:38px}.w-branding-social a.w-social svg{width:20px;height:20px}}@media (width<=360px){.ct{width:64px;padding:12px 4px}.ct .n{font-size:24px}}@media (prefers-reduced-motion:reduce){.countdown .ct{animation:none!important}.w-cd-flip{animation:none}*{transition-duration:1ms!important;animation-duration:1ms!important}}.dash-shell{background:radial-gradient(ellipse at 50% 0%, #f8d4c580, transparent 55%), linear-gradient(180deg, var(--cream) 0%, var(--cream-deep) 100%);min-height:100vh;color:var(--w-text);padding:40px 20px 60px;font-family:Cormorant Garamond,serif}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;max-width:880px;margin:0 auto 28px;display:flex}.dash-header-eyebrow{font-family:var(--w-font-display);letter-spacing:.4em;text-transform:uppercase;color:var(--w-accent);opacity:.75;margin-bottom:4px;font-size:11px}.dash-header-title{font-family:var(--w-font-script);color:var(--w-accent);font-size:clamp(34px,6vw,48px);line-height:1}.dash-header-actions{align-items:center;gap:14px;display:flex}.dash-stats{grid-template-columns:repeat(4,1fr);gap:14px;max-width:880px;margin:0 auto 34px;display:grid}.dash-stat{background:var(--w-card-bg);border:1px solid var(--w-border);text-align:center;box-shadow:0 8px 24px var(--w-shadow);border-radius:8px;padding:20px 14px}.dash-stat-num{font-family:var(--w-font-display);color:var(--w-accent);font-variant-numeric:tabular-nums;font-size:34px;font-weight:600;line-height:1}.dash-stat-lbl{font-family:var(--w-font-display);letter-spacing:.25em;text-transform:uppercase;color:var(--w-text);opacity:.75;margin-top:8px;font-size:10px}.dash-section{max-width:880px;margin:0 auto 36px}.dash-section-title{font-family:var(--w-font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--w-accent);align-items:center;gap:10px;margin-bottom:14px;font-size:13px;display:flex}.dash-section-title svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:18px;height:18px}.dash-count{background:var(--w-accent);min-width:22px;height:22px;color:var(--w-accent-text);letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:11px;display:inline-flex}.dash-table-wrap{background:var(--w-card-bg);border:1px solid var(--w-border);box-shadow:0 8px 24px var(--w-shadow);border-radius:8px;overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;min-width:520px}.dash-table th,.dash-table td{text-align:left;border-bottom:1px solid var(--w-border);padding:13px 18px}.dash-table thead th{font-family:var(--w-font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--w-accent);opacity:.8;background:#fff5e680;font-size:10px}.dash-table tbody tr:last-child td{border-bottom:none}.dash-table tbody tr:hover{background:#f8d4c540}.dash-name{color:var(--w-text);font-weight:600}.dash-muted{color:var(--w-text);opacity:.6;font-size:13px}.dash-badge{font-family:var(--w-font-display);letter-spacing:.18em;text-transform:uppercase;border-radius:999px;padding:4px 12px;font-size:9px;display:inline-block}.dash-badge-yes{color:#1d6b3d;background:#26804924;border:1px solid #26804966}.dash-badge-no{color:var(--w-accent);border:1px solid var(--w-border);background:#8b1a1a1a}.dash-wish-list{gap:12px;list-style:none;display:grid}.dash-wish{background:var(--w-card-bg);border:1px solid var(--w-border);box-shadow:0 8px 24px var(--w-shadow);border-radius:8px;padding:18px 20px}.dash-wish-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.dash-wish-msg{color:var(--w-text);white-space:pre-wrap;font-size:16px;font-style:italic;line-height:1.6}.dash-empty{background:var(--w-card-bg);border:1px dashed var(--w-border);text-align:center;color:var(--w-text);opacity:.7;border-radius:8px;padding:26px;font-style:italic}.dash-theme-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.dash-theme-card{background:var(--w-card-bg);border:1px solid var(--w-border);box-shadow:0 8px 24px var(--w-shadow);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;border-radius:8px;flex-direction:column;align-items:stretch;gap:12px;padding:18px;font-family:inherit;transition:border-color .25s,transform .25s,box-shadow .25s;display:flex}.dash-theme-card:hover:not(:disabled){box-shadow:0 14px 32px var(--w-shadow);transform:translateY(-2px)}.dash-theme-card.active{border-color:var(--w-accent);box-shadow:0 0 0 2px #8b1a1a40, 0 14px 32px var(--w-shadow)}.dash-theme-card:disabled{cursor:default}.dash-theme-swatch{border:1px solid var(--w-border);border-radius:6px;height:54px;display:flex;overflow:hidden}.dash-theme-swatch span{flex:1}.dash-theme-name{font-family:var(--w-font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--w-text);font-size:12px}.dash-theme-state,.dash-theme-use{font-family:var(--w-font-display);letter-spacing:.2em;text-transform:uppercase;border-top:1px solid var(--w-border);align-items:center;gap:6px;padding:7px 0 0;font-size:10px;display:inline-flex}.dash-theme-state svg{stroke:currentColor;fill:none;stroke-width:2.4px;width:14px;height:14px}.dash-theme-state{color:var(--w-accent)}.dash-theme-use{color:var(--w-text);opacity:.65}.dash-theme-card:hover .dash-theme-use{color:var(--w-accent);opacity:1}.dash-banner{color:#1d6b3d;max-width:880px;font-family:var(--w-font-display);letter-spacing:.15em;text-transform:uppercase;background:#2680491f;border:1px solid #26804966;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 auto 22px;padding:12px 16px;font-size:11px;display:flex}.dash-banner button{color:inherit;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px;line-height:1}.dash-login-card{background:var(--w-card-bg);border:1px solid var(--w-border);max-width:400px;box-shadow:0 18px 48px var(--w-shadow);border-radius:10px;margin:8vh auto 0;padding:34px 30px}.dash-login-head{text-align:center;margin-bottom:24px}.dash-login-eyebrow{font-family:var(--w-font-display);letter-spacing:.4em;text-transform:uppercase;color:var(--w-accent);opacity:.7;margin-bottom:6px;font-size:10px}.dash-login-title{font-family:var(--w-font-script);color:var(--w-accent);margin-bottom:6px;font-size:40px;line-height:1}.dash-login-sub{color:var(--w-text);opacity:.75;font-size:14px;font-style:italic}.dash-login-back{text-align:center;margin-top:20px}.dash-login-icon{justify-content:center;margin-top:26px;display:flex}.dash-login-icon svg{width:22px;height:22px;stroke:var(--w-accent);fill:none;stroke-width:1.6px;opacity:.5}.dash-field{margin-bottom:18px}.dash-field label{font-family:var(--w-font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--w-accent);opacity:.85;margin-bottom:6px;font-size:10px;display:block}.dash-field input{background:var(--w-bg);border:1px solid var(--w-border);width:100%;color:var(--w-text);border-radius:6px;outline:none;padding:12px 14px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.dash-field input:focus{border-color:var(--w-accent);box-shadow:0 0 0 3px #8b1a1a1f}.dash-field.invalid input{border-color:var(--rose)}.dash-field-error{font-family:var(--w-font-display);letter-spacing:.12em;color:var(--rose);margin-top:6px;font-size:10px;display:block}.dash-btn{font-family:var(--w-font-display);letter-spacing:.25em;text-transform:uppercase;cursor:pointer;border-radius:6px;font-size:11px;transition:all .25s}.dash-btn-primary{background:var(--w-accent);width:100%;color:var(--w-accent-text);border:1px solid var(--w-accent);padding:14px}.dash-btn-primary:hover:not(:disabled){letter-spacing:.35em;filter:brightness(1.1)}.dash-btn-primary:disabled{opacity:.6;cursor:not-allowed}.dash-btn-ghost{color:var(--w-accent);border:1px solid var(--w-border);background:0 0;padding:9px 16px}.dash-btn-ghost:hover{background:var(--w-accent);color:var(--w-accent-text);border-color:var(--w-accent)}.dash-link{font-family:var(--w-font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--w-accent);font-size:11px;text-decoration:none;transition:opacity .2s}.dash-link:hover{opacity:.75}.dash-footer{text-align:center;max-width:880px;color:var(--w-text);opacity:.55;margin:20px auto 0;font-size:13px;font-style:italic}.dash-footer span{color:var(--rose)}@media (width<=640px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-theme-grid{grid-template-columns:1fr}.dash-shell{padding:26px 14px 40px}.dash-table-wrap{box-shadow:none;background:0 0;border:none;overflow:visible}.dash-table,.dash-table tbody{width:100%;display:block}.dash-table thead{display:none}.dash-table tr{background:var(--w-card-bg);border:1px solid var(--w-border);box-shadow:0 8px 24px var(--w-shadow);border-radius:8px;margin-bottom:12px;padding:6px 16px;display:block}.dash-table tr:last-child{margin-bottom:0}.dash-table td{border-bottom:1px solid var(--w-border);text-align:right;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.dash-table td:last-child{border-bottom:none}.dash-table td:before{content:attr(data-label);font-family:var(--w-font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--w-accent);opacity:.7;flex-shrink:0;font-size:9px}.dash-name{font-size:15px}.dash-header{flex-direction:column;align-items:flex-start}.dash-header-actions{justify-content:space-between;width:100%}}@media (width<=380px){.dash-login-card{margin-top:4vh;padding:26px 18px}}body[data-template=navy-gold]{--cream:#f7f2e4;--cream-deep:#e9dfc6;--paper:#f4eeda;--blush:#d7dcea;--ink:#141a2b;--ink-soft:#3b4358;--crimson:#233457;--crimson-deep:#131f3a;--maroon:#2c3d63;--marigold:#d4af65;--marigold-deep:#a8842f;--rose:#b03a3a;--rose-light:#8a93ad;--gold:#b18838;--gold-bright:#e0c078;--cd-bg-1:#1b2a4a;--cd-bg-2:#0e1630;--cd-border:#d4af65;--cd-num:#ffe9b8;--cd-label:#d4af65;--cd-glow:#d4af6580;--cd-glow-strong:#d4af65d9;--cd-glow-soft:#f0dca066;--w-accent:#233457;--w-accent-text:#f7f2e4;--w-bg:#f7f2e4;--w-text:#141a2b;--w-card-bg:#f7f2e4cc;--w-border:#23345759;--w-shadow:#0c142647}body[data-template=navy-gold] .invite{background:radial-gradient(ellipse at 50% 0%, #d7dcea80, transparent 55%), radial-gradient(ellipse at 50% 100%, #d4af652e, transparent 55%), linear-gradient(180deg, var(--cream) 0%, var(--cream-deep) 100%)}
