.wfb-root[data-astro-cid-b7z25ei7]{position:relative;width:100%;height:100%;overflow:hidden}.wfb-bg[data-astro-cid-b7z25ei7]{position:fixed;inset:0;background-image:url(/background2.webp);background-size:cover;background-position:center center;background-repeat:no-repeat;z-index:0}.wfb-flowers[data-astro-cid-b7z25ei7]{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:visible}.wfb-flower[data-astro-cid-b7z25ei7]{position:absolute;object-fit:contain;pointer-events:none;animation:wfb-float 7s ease-in-out infinite;will-change:transform}.wfb-no-anim[data-astro-cid-b7z25ei7]{animation:none;will-change:auto}@keyframes wfb-float{0%,to{translate:0 0px}50%{translate:0 -8px}}@keyframes wfb-sway{0%,to{rotate:0deg}30%{rotate:-3deg}70%{rotate:3deg}}@keyframes wfb-pulse{0%,to{scale:1;opacity:var(--op, .85)}50%{scale:1.06;opacity:1}}@keyframes wfb-drift{0%{translate:0px 0px}25%{translate:4px -6px}50%{translate:8px -2px}75%{translate:3px -9px}to{translate:0px 0px}}.wfb-content[data-astro-cid-b7z25ei7]{position:relative;z-index:10;width:100%;height:100%;display:flex;align-items:center;justify-content:center}@media(max-width:600px){.wfb-hide-mobile[data-astro-cid-b7z25ei7]{display:none}.wfb-shrink-mobile[data-astro-cid-b7z25ei7]{width:55%!important;height:55%!important}.wfb-flower[data-astro-cid-b7z25ei7]{opacity:.8!important}}@media(max-width:400px){.wfb-shrink-mobile[data-astro-cid-b7z25ei7]{width:42%!important;height:42%!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--kraft: #c4a882;--kraft-dark: #b8956e;--kraft-bg: #d4b896;--cream: #f5f0e8;--cream-dark: #ede6d8;--wax: #3a5f9e;--wax-light: #4e78be;--gold: #6e8fbf;--gold-light: #8aaad4;--gold-pale: #c8d9f0;--text-dark: #1a2236;--text-mid: #3d5070;--text-light: #6b82a8;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Montserrat", sans-serif}html,body{width:100%;height:100%;overflow:hidden;background:#f0ece4;font-family:var(--font-sans)}.stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.bg-roses{position:fixed;inset:0;transition:filter .6s ease;z-index:0}.bg-roses.blurred{filter:blur(6px) brightness(.7)}.envelope-tilt{perspective:900px;position:relative;z-index:10;width:min(680px,88vw);display:flex;flex-direction:column;align-items:center}.envelope-wrap{position:relative;width:100%;animation:envelopeFloat 6s ease-in-out infinite;filter:drop-shadow(0 20px 50px rgba(0,0,0,.6)) drop-shadow(0 6px 16px rgba(0,0,0,.4))}.envelope-img{display:block;width:100%;height:auto;border-radius:8px;user-select:none;pointer-events:none}.envelope-corner-deco{display:none;position:absolute;bottom:-10%;left:-2%;width:clamp(60px,18vw,220px);height:auto;object-fit:contain;pointer-events:none;user-select:none}.hotspot{position:absolute;display:flex;align-items:center;justify-content:center;cursor:pointer;text-align:center;z-index:20;background:transparent}.hs-top{top:18%;left:50%;transform:translate(-48%,20%)}.hs-left{top:62%;left:18%;transform:translate(-10%,-160%)}.hs-right{top:62%;left:82%;transform:translate(-85%,-160%)}.hs-bottom{top:82%;left:50%;transform:translate(-48%,-95%)}.hs-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 16px;background:none;border:none;white-space:nowrap;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.hotspot:hover .hs-inner{transform:scale(1.1)}.hs-label{font-family:var(--font-serif);font-style:italic;font-size:clamp(10px,1.6vw,25px);background:linear-gradient(160deg,#c45a6a,#7a1828 45%,#4d0e18);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5));letter-spacing:.04em;line-height:1.2;white-space:nowrap;transition:filter .22s ease}.hs-sub{font-family:var(--font-sans);font-size:clamp(8px,2vw,10px);font-weight:700;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(160deg,#a84455,#5c1020);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4));white-space:nowrap;transition:filter .22s ease}.hotspot:hover .hs-label{filter:drop-shadow(0 0 6px rgba(196,90,106,.6)) drop-shadow(0 1px 2px rgba(0,0,0,.5))}.hotspot:hover .hs-sub{filter:drop-shadow(0 0 5px rgba(168,68,85,.5)) drop-shadow(0 1px 1px rgba(0,0,0,.4))}.seal-hotspot{position:absolute;top:51.8%;left:50%;transform:translate(-50%,-50%);width:clamp(72px,16%,108px);aspect-ratio:1;border-radius:60%;cursor:pointer;z-index:30;background:transparent;box-shadow:0 0 #c94c4c80,0 0 #ff002b4d;animation:sealPulse 2.4s ease-in-out infinite;transition:background .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center}.seal-hotspot:hover{background:#3d081133;animation:none;box-shadow:0 0 0 4px #800d0d99,0 0 32px #7a182899;transform:translate(-50%,-50%) scale(1.05)}.seal-tooltip{font-family:var(--font-serif);font-style:italic;font-size:clamp(7px,1.1vw,10px);color:#f0dda0bf;letter-spacing:.04em;text-align:center;white-space:nowrap;transition:color .22s ease,text-shadow .22s ease;pointer-events:none}.seal-hotspot:hover .seal-tooltip{color:#f0dda0;text-shadow:0 0 12px rgba(201,168,76,.7)}@keyframes sealPulse{0%,to{box-shadow:0 0 #c9a84c8c,0 0 12px 2px #7a182840}50%{box-shadow:0 0 0 8px #c9a84c00,0 0 22px 6px #7a18281f}}.overlay-backdrop{position:fixed;inset:0;background:#140a0400;z-index:100;pointer-events:none;transition:background .5s ease;display:flex;align-items:center;justify-content:center;padding:20px}.overlay-backdrop.active{background:#140a04a6;pointer-events:all;backdrop-filter:blur(3px)}.letter-page{position:relative;background:var(--cream);border-radius:12px;box-shadow:0 30px 80px #00000059,0 0 0 1px #6e8fbf4d;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;padding:50px 48px 44px;opacity:0;transform:translateY(28px) scale(.97);transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1);scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.overlay-backdrop.active .letter-page{opacity:1;transform:translateY(0) scale(1)}.letter-page:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");border-radius:12px;pointer-events:none;opacity:.6}.letter-page{outline:1px solid rgba(110,143,191,.35);outline-offset:-12px}.letter-page::-webkit-scrollbar{width:4px}.letter-page::-webkit-scrollbar-track{background:transparent}.letter-page::-webkit-scrollbar-thumb{background:#6e8fbf73;border-radius:2px}.close-btn{position:absolute;top:16px;right:18px;width:32px;height:32px;background:none;border:none;cursor:pointer;color:var(--gold);font-size:22px;line-height:1;opacity:.7;transition:opacity .2s,transform .2s;font-family:var(--font-serif);z-index:10;display:flex;align-items:center;justify-content:center;border-radius:50%}.close-btn:hover{opacity:1;transform:rotate(90deg)}.filigree-corner{position:absolute;width:22px;height:22px;color:var(--gold);opacity:.7}.filigree-corner svg{width:100%;height:100%}.fc-tl{top:4px;left:4px}.fc-tr{top:4px;right:4px;transform:scaleX(-1)}.fc-bl{bottom:4px;left:4px;transform:scaleY(-1)}.fc-br{bottom:4px;right:4px;transform:scale(-1)}.letter-header{text-align:center;margin-bottom:28px;position:relative}.letter-header .en-title{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.letter-header h2{font-family:var(--font-serif);font-size:clamp(20px,4vw,27px);color:var(--text-dark);font-weight:400;line-height:1.2}.gold-divider{width:80px;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);margin:14px auto}.poetry-block{text-align:center;padding:10px 16px}.poetry-block p{font-family:var(--font-serif);font-style:italic;font-size:clamp(14px,2.5vw,17px);color:var(--text-mid);line-height:1.95;margin-bottom:4px}.poetry-bold{font-family:var(--font-serif)!important;font-size:clamp(15px,2.7vw,19px)!important;font-weight:600!important;color:var(--text-dark)!important;margin-top:18px!important;font-style:italic!important}.couple-nie{font-family:var(--font-serif);font-style:italic;font-size:19px;color:var(--text-mid)}.couple-names-script{font-family:var(--font-serif);font-style:italic;font-size:clamp(22px,4.5vw,32px);color:var(--wax);text-align:center;margin:20px 0 8px;letter-spacing:.03em}.wedding-date{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;margin:16px 0 4px;gap:4px}.wedding-date-num{font-family:var(--font-serif);font-size:clamp(20px,3.5vw,28px);color:var(--wax);letter-spacing:.12em;font-style:italic;text-align:center;display:block}.wedding-date-day{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--text-light);text-align:center;display:block}.history-invite-small{font-size:14px;color:var(--text-light)}.history-invite{font-family:var(--font-serif);font-style:italic;font-size:19px;color:var(--text-mid);text-align:center;line-height:1.75;margin-top:10px}.couple-photo-frame{width:220px;margin:20px auto 12px;position:relative}.couple-photo-frame img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:sepia(.15) contrast(1.05)}.photo-placeholder{width:100%;background:linear-gradient(135deg,#e8ddd0,#d4c9b8);display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--font-sans);font-size:10px;color:var(--text-light);letter-spacing:.1em;text-align:center;padding:16px}.photo-border{position:absolute;inset:-4px;border:1px solid var(--gold);pointer-events:none;border-radius:6px}.photo-border:before{content:"";position:absolute;inset:3px;border:1px solid rgba(201,168,76,.4);border-radius:4px}.envelope-hint-wrap{display:flex;flex-direction:column;align-items:center;gap:2px;pointer-events:none}.envelope-pointer{width:clamp(28px,3.5vw,44px);height:auto;filter:drop-shadow(0 2px 6px rgba(58,95,158,.35));animation:pointer-tap 1.6s ease-in-out infinite}@keyframes pointer-tap{0%,to{transform:translateY(0)}40%{transform:translateY(7px)}60%{transform:translateY(4px)}}.envelope-hint{text-align:center;font-family:var(--font-serif);font-style:italic;font-size:clamp(17px,2.4vw,22px);color:#3a5f9e;text-shadow:0 1px 8px rgba(255,255,255,.7);margin-top:16px;letter-spacing:.06em;pointer-events:none;animation:hint-pulse 2.8s ease-in-out infinite}@keyframes hint-pulse{0%,to{opacity:.5}50%{opacity:1}}.letter-section-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.4),transparent);margin:36px 0}.rosebud-ornament{text-align:center;margin:22px 0 4px;color:var(--gold);font-size:20px;opacity:.6;letter-spacing:.3em}.kumove-photo-frame{margin:8px auto 20px;max-width:340px;position:relative;background:#fff;padding:12px;box-shadow:0 4px 20px #0000001f,0 0 0 1px #c9a84c40;border-radius:8px}.kumove-photo-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:sepia(.1) contrast(1.03)}.kumove-photo-placeholder{width:100%;aspect-ratio:4/3;background:linear-gradient(135deg,#e8ddd0,#d4c9b8);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}.kumove-photo-placeholder span{font-family:var(--font-sans);font-size:10px;letter-spacing:.12em;color:var(--text-light);text-transform:uppercase}.polaroid-caption{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--text-mid)}.kumove-text{text-align:center;font-family:var(--font-serif);font-size:15px;font-style:italic;color:var(--text-dark);line-height:1.6;margin-bottom:6px}.kumove-family{text-align:center;font-family:var(--font-serif);font-size:22px;font-style:italic;color:var(--wax);margin:6px 0 4px}.program-timeline{list-style:none;padding:0;margin:0 auto;max-width:340px}.program-timeline li{display:grid;grid-template-columns:56px 32px 1fr;align-items:center;gap:0 14px;padding:10px 0;border-bottom:1px solid rgba(201,168,76,.15)}.program-timeline li:last-child{border-bottom:none}.prog-time{font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--gold);letter-spacing:.05em;line-height:1.4;text-align:center;padding-top:0}.prog-icon{display:flex;align-items:center;justify-content:center;color:var(--wax);font-size:22px}.prog-info{padding-top:0}.prog-title{font-family:var(--font-serif);font-size:15px;color:var(--text-dark);line-height:1.3;margin-bottom:2px}.prog-loc{font-family:var(--font-sans);font-size:11px;color:var(--text-light);letter-spacing:.04em}.prog-loc a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.3);transition:border-color .2s}.prog-loc a:hover{border-color:var(--gold)}.cause-heart{text-align:center;margin:4px 0 18px}.cause-heart svg{width:56px;height:56px;color:var(--gold);opacity:.7}.cause-text{font-family:var(--font-serif);font-style:italic;font-size:16px;color:var(--text-dark);text-align:center;line-height:1.85;margin-bottom:8px}.cause-thanks{font-family:var(--font-serif);font-style:italic;font-size:clamp(18px,3vw,22px);color:var(--text-mid);text-align:center;margin-bottom:28px;line-height:1.75}.hotels-title{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);text-align:center;margin-bottom:14px}.hotel-list{list-style:none;padding:0}.hotel-list li{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(201,168,76,.15);gap:10px}.hotel-list li:last-child{border-bottom:none}.hotel-name{font-family:var(--font-serif);font-size:14px;color:var(--text-dark)}.hotel-link{font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-decoration:none;border:1px solid rgba(201,168,76,.4);padding:4px 10px;border-radius:20px;transition:background .2s,color .2s;white-space:nowrap}.hotel-link:hover{background:var(--gold);color:#fff}.hotel-note{font-family:var(--font-sans);font-size:10.5px;color:var(--text-light);text-align:center;font-style:italic;margin-top:14px;line-height:1.6}.rsvp-deadline{font-family:var(--font-sans);font-size:12px;color:var(--text-mid);text-align:center;line-height:1.7;margin-bottom:24px}.rsvp-deadline strong{color:var(--wax)}.form-group{margin-bottom:16px;position:relative}.form-label{display:block;font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:7px}.form-label .req{color:var(--wax);margin-left:2px}.form-input{width:100%;padding:9px 14px;background:#fdf6ec99;border:1px solid rgba(201,168,76,.35);border-radius:8px;font-family:var(--font-sans);font-size:13px;color:var(--text-dark);outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--gold);background:#fff}.radio-group,.check-group{display:flex;flex-wrap:wrap;gap:10px}.radio-option,.check-option{display:flex;align-items:center;gap:7px;cursor:pointer}.radio-option input,.check-option input{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1px solid rgba(201,168,76,.5);border-radius:50%;background:#fff;cursor:pointer;position:relative;flex-shrink:0;transition:border-color .2s}.check-option input{border-radius:2px}.radio-option input:checked,.check-option input:checked{background:var(--wax);border-color:var(--wax)}.radio-option input:checked:after,.check-option input:checked:after{content:"";position:absolute;inset:4px;background:#fff;border-radius:50%}.check-option input:checked:after{inset:3px;border-radius:1px}.radio-option label,.check-option label{font-family:var(--font-sans);font-size:13px;color:var(--text-dark);cursor:pointer}.submit-btn{display:block;width:100%;padding:14px 24px;background:var(--wax);border:none;border-radius:30px;cursor:pointer;font-family:var(--font-serif);font-style:italic;font-size:16px;color:#fff;letter-spacing:.12em;margin-top:28px;transition:background .25s,transform .15s,box-shadow .25s;box-shadow:0 4px 16px #3a5f9e59;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%)}.submit-btn:hover{background:var(--wax-light);transform:translateY(-1px);box-shadow:0 6px 20px #3a5f9e73}.submit-btn:active{transform:translateY(0)}.child-name-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.child-name-row .form-input{margin-bottom:0;flex:1}.remove-child-btn{background:none;border:1px solid rgba(179,58,58,.3);border-radius:6px;color:#b33a3a;font-size:12px;width:28px;height:36px;flex-shrink:0;cursor:pointer;transition:background .2s}.remove-child-btn:hover{background:#b33a3a1a}.add-child-btn{margin-top:6px;background:none;border:1px dashed rgba(58,95,158,.4);border-radius:8px;color:var(--wax);font-family:var(--font-sans);font-size:12px;padding:7px 16px;cursor:pointer;width:100%;transition:background .2s,border-color .2s}.add-child-btn:hover{background:#3a5f9e0f;border-color:var(--wax)}.form-success{display:none;text-align:center;padding:20px}.form-success.visible{display:block}.form-success-icon{font-size:40px;margin-bottom:12px;color:var(--gold)}.form-success h3{font-family:var(--font-serif);font-style:italic;font-size:22px;color:var(--text-dark);margin-bottom:8px}.form-success p{font-family:var(--font-sans);font-size:13px;color:var(--text-mid);line-height:1.7}@keyframes envelopeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.envelope-wrap.is-tilting{animation-play-state:paused;will-change:transform}.envelope-glare{position:absolute;inset:0;border-radius:10px;pointer-events:none;z-index:25;opacity:0;transition:opacity .4s ease}@media(max-width:600px){.envelope-tilt{width:92vw}.letter-page{padding:36px 20px 32px}.kumove-photo-frame{max-width:100%}.envelope-hint{font-size:12px;margin-top:10px}}@media(max-height:600px){.envelope-tilt{width:min(480px,70vw)}.envelope-hint{margin-top:6px;font-size:11px}}
