:root{--bg-primary:#f8f6f0;--bg-surface:#fff;--bg-card:#fff;--bg-card-glass:#fffffff0;--bg-parchment:#fffdfa;--bg-parchment-gold:#fcf6eb;--gold-100:#fffbf2;--gold-200:#f5dfa2;--gold-300:#d4a742;--gold-400:#b58525;--gold-500:#966a15;--gold-600:#78500c;--gold-gradient:linear-gradient(135deg, #fbe9bd 0%, #d4a742 50%, #966a15 100%);--gold-gradient-shine:linear-gradient(90deg, #b58525 0%, #fff6d9 25%, #b58525 50%, #fff6d9 75%, #b58525 100%);--gold-border:#b5852559;--gold-glow:#b5852538;--accent-base:#b58525;--accent-light:#d4a742;--accent-glow:#d4a7424d;--text-primary:#2d231e;--text-secondary:#5a4941;--text-muted:#8c7b73;--text-dark:#2d231e;--text-dark-muted:#66554d;--wax-red:#c99832;--wax-dark:#8c6312;--font-serif-title:"Cinzel", "Playfair Display", Georgia, serif;--font-serif-body:"Cormorant Garamond", Garamond, serif;--font-script:"Great Vibes", "Allura", "Alex Brush", cursive;--font-sans:"Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-chant:"Cinzel Decorative", "Amiri", serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--shadow-gold:0 10px 30px -10px #b5852547;--shadow-card:0 16px 40px -10px #5a49411f, 0 0 1px #b5852566;--shadow-deep:0 25px 60px -12px #2d231e40;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.16, 1, .3, 1)}[data-theme=emerald]{--bg-primary:#f2f7f4;--bg-surface:#fff;--bg-card:#fff;--bg-card-glass:#fffffff0;--gold-400:#1b6348;--gold-gradient:linear-gradient(135deg, #cde5dc 0%, #1b6348 60%, #0d3828 100%);--gold-border:#1b634859;--text-primary:#122920;--text-secondary:#2e4d40;--wax-red:#1b6348;--wax-dark:#0d3828}[data-theme=rose]{--bg-primary:#fdf5f6;--bg-surface:#fff;--bg-card:#fff;--bg-card-glass:#fffffff0;--gold-400:#ba5d70;--gold-gradient:linear-gradient(135deg, #fcdde3 0%, #ba5d70 60%, #7d2a3b 100%);--gold-border:#ba5d7059;--text-primary:#381a21;--text-secondary:#5e3740;--wax-red:#ba5d70;--wax-dark:#7d2a3b}[data-theme=sapphire]{--bg-primary:#0a1120;--bg-surface:#101c33;--bg-card:#152545;--bg-card-glass:#152545e6;--text-primary:#fbf7ee;--text-secondary:#dcd0bc;--text-muted:#a69883;--gold-400:#dfb751;--gold-border:#dfb75166;--wax-red:#d4a742;--wax-dark:#8c6312}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}html,body{background-color:var(--bg-primary);width:100%;min-height:100%;color:var(--text-primary);font-family:var(--font-serif-body);scroll-behavior:smooth;-webkit-user-select:none;user-select:none;font-size:17px;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gold-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gold-500)}.bg-damask{pointer-events:none;z-index:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cg fill='%23b58525' fill-opacity='0.55'%3E%3Cpath d='M45 0 C48 22 68 42 90 45 C68 48 48 68 45 90 C42 68 22 48 0 45 C22 42 42 22 45 0 Z'/%3E%3Ccircle cx='45' cy='45' r='8' fill='none' stroke='%23b58525' stroke-width='1.5'/%3E%3Ccircle cx='45' cy='45' r='3'/%3E%3Ccircle cx='0' cy='0' r='3.5'/%3E%3Ccircle cx='90' cy='0' r='3.5'/%3E%3Ccircle cx='0' cy='90' r='3.5'/%3E%3Ccircle cx='90' cy='90' r='3.5'/%3E%3C/g%3E%3C/svg%3E");background-size:70px 70px;position:fixed;inset:0}.bg-bodhi-tree{pointer-events:none;z-index:0;opacity:.6;filter:drop-shadow(0 0 50px #d4a7424d);background-image:url(/images/bodhi-tree-trans.png);background-position:50% 32%;background-repeat:no-repeat;background-size:min(88vw,700px);transition:opacity .5s;position:fixed;inset:0}.bg-vignette{pointer-events:none;z-index:1;background:radial-gradient(circle at 50% 30%,#0000 50%,#dccdb966 100%);position:fixed;inset:0}.petals-canvas{pointer-events:none;z-index:99;position:fixed;inset:0}.discrete-audio-btn{z-index:1000;border:1px solid var(--gold-border);width:38px;height:38px;color:var(--gold-500);cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#ffffffeb;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s,box-shadow .2s;display:flex;position:fixed;top:14px;right:14px;box-shadow:0 6px 18px #5a494126}.discrete-audio-btn:hover{background:#fff;transform:scale(1.08);box-shadow:0 8px 24px #b5852540}.mini-equalizer{align-items:flex-end;gap:2.5px;height:14px;display:flex}.mini-bar{background:var(--gold-500);border-radius:2px;width:2.5px;height:4px}.mini-equalizer .mini-bar:first-child{animation:.7s ease-in-out infinite alternate eq-pulse}.mini-equalizer .mini-bar:nth-child(2){animation:.9s ease-in-out .2s infinite alternate eq-pulse}.mini-equalizer .mini-bar:nth-child(3){animation:.6s ease-in-out .4s infinite alternate eq-pulse}.music-equalizer.playing .music-bar:first-child{animation:.7s ease-in-out infinite alternate eq-pulse}.music-equalizer.playing .music-bar:nth-child(2){animation:.9s ease-in-out .2s infinite alternate eq-pulse}.music-equalizer.playing .music-bar:nth-child(3){animation:.6s ease-in-out .4s infinite alternate eq-pulse}.music-equalizer.playing .music-bar:nth-child(4){animation:.8s ease-in-out .1s infinite alternate eq-pulse}@keyframes eq-pulse{0%{height:3px}to{height:14px}}.envelope-session{z-index:500;transition:opacity 1.2s var(--ease-smooth), transform 1.2s var(--ease-smooth), visibility 1.2s;perspective:1200px;background:radial-gradient(circle at 50% 40%,#fff 0%,#ece5d8 85%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.envelope-session.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.08)translateY(-40px)}.tassel-container{z-index:50;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;align-items:center;transition:transform .1s ease-out;display:flex;position:absolute;top:0;left:clamp(24px,7vw,60px)}.tassel-container:active{cursor:grabbing}.tassel-cord{background:repeating-linear-gradient(45deg,#deb251 0 4px,#966a15 4px 8px);width:4px;height:clamp(80px,14vh,120px);box-shadow:2px 2px 6px #0003}.tassel-cap{background:radial-gradient(circle,#ffeaae 20%,#deb251 60%,#855f11 100%);border:1px solid #ffd875;border-radius:50% 50% 30% 30%;width:22px;height:22px;margin-top:-2px;box-shadow:0 4px 10px #00000040}.tassel-ring{background:#966a15;border-radius:3px;width:14px;height:6px;margin-top:-2px}.tassel-fringes{justify-content:center;gap:1.5px;width:28px;height:65px;display:flex}.tassel-strand{background:linear-gradient(#deb251,#f5dfa2,#855f11);border-radius:1px;width:2px;height:100%}.tassel-hint{white-space:nowrap;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:1px;color:#78500c;border:1px solid var(--gold-border);background:#fffffff2;border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;animation:2s ease-in-out infinite pulse-hint;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001a}@keyframes pulse-hint{0%,to{opacity:.8;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(4px)}}.envelope-3d-box{width:min(92vw,440px);height:min(78vh,580px);transform-style:preserve-3d;filter:drop-shadow(0 25px 50px #5a494140);justify-content:center;align-items:center;display:flex;position:relative}.envelope-body{background:linear-gradient(145deg,#fff 0%,#fbf7ee 50%,#f1e7d4 100%);border:1.5px solid #b5852573;border-radius:12px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 35px #d2b98c59}.envelope-inlay-border{pointer-events:none;z-index:2;border:1px solid #b5852566;border-radius:8px;position:absolute;inset:10px}.envelope-inlay-border:after{content:"";border:1px dashed #d4a74259;border-radius:6px;position:absolute;inset:4px}.envelope-corner-filigree{pointer-events:none;z-index:25;filter:drop-shadow(0 0 4px #b5852540);width:44px;height:44px;position:absolute}.envelope-corner-filigree.top-left{top:6px;left:6px}.envelope-corner-filigree.top-right{top:6px;right:6px;transform:scaleX(-1)}.envelope-corner-filigree.bottom-left{bottom:6px;left:6px;transform:scaleY(-1)}.envelope-corner-filigree.bottom-right{bottom:6px;right:6px;transform:scale(-1)}.envelope-flap-left{clip-path:polygon(0 0,100% 50%,0 100%);z-index:10;transform-origin:0;width:52%;transition:transform 1s var(--ease-spring);background:linear-gradient(135deg,#fff 0%,#f7f2e7 100%);border-left:1.5px solid #b5852559;position:absolute;top:0;bottom:0;left:0;box-shadow:4px 0 15px #0000000d}.envelope-flap-right{clip-path:polygon(100% 0,0 50%,100% 100%);z-index:10;transform-origin:100%;width:52%;transition:transform 1s var(--ease-spring);background:linear-gradient(-135deg,#fff 0%,#f5eedf 100%);border-right:1.5px solid #b5852559;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 15px #0000000d}.envelope-flap-bottom{clip-path:polygon(0 100%,50% 0,100% 100%);z-index:12;transform-origin:bottom;height:52%;transition:transform 1s var(--ease-spring);background:linear-gradient(#f2ebd9 0%,#fff 100%);border-bottom:1.5px solid #b5852559;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -4px 15px #0000000d}.flap-bottom-floral-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.envelope-flap-top{clip-path:polygon(0 0,50% 100%,100% 0);z-index:14;transform-origin:top;height:52%;transition:transform 1.1s var(--ease-spring);background:linear-gradient(#fff 0%,#ede3cb 100%);border-top:1.5px solid #b5852559;position:absolute;top:0;left:0;right:0;overflow:hidden;box-shadow:0 4px 15px #0000000f}.flap-top-floral-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.envelope-inner-card{text-align:center;width:86%;height:86%;color:var(--text-dark);z-index:5;transition:transform 1.2s var(--ease-spring), opacity .8s ease;background:linear-gradient(135deg,#fff 0%,#fcf7ed 100%);border:1px solid #d4af37;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:24px 18px;display:flex;position:absolute;box-shadow:0 10px 30px #5a494126}.envelope-inner-card .card-border-ornament{pointer-events:none;border:1px solid #b5852566;position:absolute;inset:8px}.envelope-inner-card .card-border-ornament:after{content:"";border:1px dashed #b585254d;position:absolute;inset:4px}.envelope-seal-btn{background:radial-gradient(circle at 35% 35%, #ffe699 0%, var(--wax-red) 55%, var(--wax-dark) 100%);cursor:pointer;z-index:30;width:96px;height:96px;transition:transform .3s var(--ease-spring), box-shadow .3s ease;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;animation:2.8s ease-in-out infinite seal-heartbeat;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1);box-shadow:0 10px 28px #5a494161,0 0 0 4px #dfb7518c,inset 0 2px 5px #fff9,inset 0 -3px 6px #0006}.envelope-seal-btn:hover{transform:translate(-50%,-50%)scale(1.08);box-shadow:0 14px 32px #5a494173,0 0 24px #dfb751bf,inset 0 2px 6px #ffffffb3}.seal-garland-svg{pointer-events:none;width:100%;height:100%;animation:35s linear infinite seal-garland-spin;position:absolute;inset:0}@keyframes seal-garland-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.seal-monogram-text{z-index:2;font-family:var(--font-serif-title);color:#fffaf0;text-shadow:0 1px 3px #0009,0 0 6px #ffe696cc;flex-direction:column;align-items:center;line-height:1.1;display:flex;position:relative}.seal-text-top{letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:700}.seal-text-mid{font-family:var(--font-script);color:#fff9e6;margin:-2px 0;font-size:22px}.seal-text-bottom{letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:700}.envelope-tap-badge{z-index:35;-webkit-backdrop-filter:blur(8px);border:1px solid var(--gold-400);border-radius:var(--radius-full);font-family:var(--font-sans);color:var(--gold-500);text-transform:uppercase;letter-spacing:2px;cursor:pointer;background:#fffffff2;align-items:center;gap:6px;padding:5px 16px;font-size:10.5px;font-weight:700;transition:all .25s;animation:2.2s ease-in-out infinite pulse-hint;display:inline-flex;position:absolute;top:calc(50% + 66px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #5a49412e,0 0 8px #d4a74240}.envelope-tap-badge:hover{background:var(--gold-gradient);color:#2c221e;transform:translate(-50%)scale(1.06)}.envelope-tap-badge svg{color:var(--gold-400)}@keyframes seal-heartbeat{0%,to{transform:translate(-50%,-50%)scale(1);box-shadow:0 10px 25px #5a494159,0 0 0 4px #dfb75180}50%{transform:translate(-50%,-50%)scale(1.05);box-shadow:0 14px 35px #5a494173,0 0 20px #dfb751b3}}.envelope-3d-box.is-opening .envelope-seal-btn{animation:.6s ease-in forwards seal-pop}.envelope-3d-box.is-opening .envelope-flap-top{z-index:1;transform:rotateX(180deg)}.envelope-3d-box.is-opening .envelope-flap-left{transform:rotateY(-110deg)}.envelope-3d-box.is-opening .envelope-flap-right{transform:rotateY(110deg)}.envelope-3d-box.is-opening .envelope-flap-bottom{transform:rotateX(-45deg)}.envelope-3d-box.is-opening .envelope-inner-card{transform:translateY(-90px)scale(1.04)}@keyframes seal-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.8;transform:translate(-50%,-50%)scale(1.3)rotate(15deg)}to{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(45deg)}}.wedding-main-session{z-index:10;width:100%;min-height:100vh;padding-top:12px;padding-bottom:50px;position:relative}.invitation-page-wrapper{flex-direction:column;gap:32px;max-width:680px;margin:0 auto;padding:24px 20px 50px;display:flex}@media (width<=600px){.invitation-page-wrapper{gap:26px;padding:18px 14px 40px}}.luxury-card{-webkit-backdrop-filter:blur(4px);border:1px solid var(--gold-border);border-radius:var(--radius-lg);text-align:center;will-change:opacity, transform;background:linear-gradient(165deg,#ffffffb6 0%,#fffcf5be 100%);padding:clamp(16px,3.8vw,32px) clamp(12px,3.2vw,28px);position:relative;overflow:hidden;box-shadow:0 12px 36px -8px #7366613f,0 0 1px #b5852559}[data-theme=sapphire] .luxury-card{background:linear-gradient(165deg,#1525458c 0%,#0a112059 100%)}[data-theme=emerald] .luxury-card{background:linear-gradient(165deg,#f5faf8b8 0%,#ebf6f2bf 100%)}[data-theme=rose] .luxury-card{background:linear-gradient(165deg,#fff8fab8 0%,#fff0f4bf 100%)}.luxury-card:before{content:"";background:var(--gold-gradient);height:2.5px;position:absolute;top:0;left:0;right:0}.corner-ornament{pointer-events:none;opacity:.65;width:34px;height:34px;position:absolute}.corner-ornament.top-left{top:10px;left:10px}.corner-ornament.top-right{top:10px;right:10px;transform:scaleX(-1)}.corner-ornament.bottom-left{bottom:10px;left:10px;transform:scaleY(-1)}.corner-ornament.bottom-right{bottom:10px;right:10px;transform:scale(-1)}.section-tag{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:5px;color:var(--gold-400);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.section-heading{font-family:var(--font-serif-title);color:var(--text-primary);letter-spacing:.5px;margin-bottom:12px;font-size:clamp(26px,4.5vw,36px);font-weight:600;display:inline-block;position:relative}.section-divider{justify-content:center;align-items:center;gap:12px;margin:12px auto 24px;display:flex}.section-divider-line{background:linear-gradient(to right, transparent, var(--gold-400), transparent);width:50px;height:1px}.section-divider-icon{color:var(--gold-400);font-size:14px}.hero-quote-text{font-family:var(--font-serif-body);color:var(--text-secondary);max-width:540px;margin:0 auto 16px;font-size:clamp(16px,2.5vw,18px);font-style:italic;line-height:1.7}.hero-quote-ref{font-family:var(--font-sans);letter-spacing:2px;color:var(--gold-400);text-transform:uppercase;margin-bottom:22px;font-size:12px;font-weight:600;display:block}.hero-couple-names{margin-bottom:8px}.hero-invitation-lead{max-width:520px;margin:0 auto}.polaroid-item:first-child{transform:rotate(-3deg)}.polaroid-item:nth-child(2){transform:rotate(2deg)}.polaroid-item:nth-child(3){transform:rotate(-2deg)}.hero-card{-webkit-backdrop-filter:blur(4px);background:linear-gradient(165deg,#ffffffb6 0%,#fffcf5be 100%);margin-top:10px;padding-top:clamp(34px,5.5vw,44px);padding-bottom:clamp(16px,3.5vw,28px);box-shadow:0 12px 36px -8px #7366613f,0 0 1px #b5852559}[data-theme=sapphire] .hero-card{background:linear-gradient(165deg,#1525458c 0%,#0a112059 100%)}.hero-buddha-wrap{justify-content:center;align-items:center;margin-bottom:2px;display:flex}@keyframes buddha-aura-glow{0%{filter:drop-shadow(0 2px 6px #24232266)drop-shadow(0 0 10px #d4a7424d);transform:scale(1)}to{filter:drop-shadow(0 4px 12px #4f4c4599)drop-shadow(0 0 20px #d4a74280);transform:scale(1.03)}}.buddhist-chant-badge{font-family:var(--font-serif-title);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-500);border:1px solid var(--gold-border);border-radius:var(--radius-full);background:#b585251a;margin-bottom:8px;padding:4px 14px;font-size:clamp(10px,2.3vw,12px);font-weight:600;display:inline-block}.hero-couple-portrait{flex-direction:column;align-items:center;margin:6px auto 4px;display:flex}.hero-portrait-frame{justify-content:center;align-items:center;width:clamp(150px,42vw,220px);height:clamp(190px,53vw,275px);display:flex;position:relative}.hero-portrait-ornament{z-index:1;pointer-events:none;filter:drop-shadow(0 0 8px #b5852533);width:100%;height:100%;position:absolute;inset:0}.hero-couple-img{z-index:2;object-fit:cover;object-position:center 0%;clip-path:ellipse(46% 47%);filter:drop-shadow(0 10px 24px #5a49412e);border-radius:50%/46%;width:88%;height:90%;animation:8s ease-in-out infinite alternate hero-couple-float;position:relative}@keyframes hero-couple-float{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.hero-frame-shimmer{stroke-dasharray:120 1000;stroke-dashoffset:0;animation:5s ease-in-out infinite hero-shimmer-sweep}@keyframes hero-shimmer-sweep{0%{stroke-dashoffset:0}50%{stroke-dashoffset:-560px}to{stroke-dashoffset:-1120px}}.hero-married-label{font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:var(--gold-500);border:1px solid var(--gold-border);border-radius:var(--radius-full);background:linear-gradient(135deg,#b5852514 0%,#d4a74224 100%);align-items:center;gap:6px;margin:16px;padding:6px 20px;font-size:11px;font-weight:700;animation:3s ease-in-out infinite alternate hero-label-glow;display:inline-flex}.hero-married-label svg{color:var(--gold-400);animation:2s ease-in-out infinite alternate hero-sparkle-pulse}@keyframes hero-label-glow{0%{box-shadow:0 0 #b5852500}to{box-shadow:0 0 18px #b5852526}}@keyframes hero-sparkle-pulse{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}.hero-divider-enhanced{gap:10px}.hero-divider-lotus{color:var(--gold-300);opacity:.7;font-size:12px;line-height:1}.hero-couple-names{font-family:var(--font-script);color:var(--gold-500);text-shadow:0 2px 8px #b5852540;margin:12px 0 6px;font-size:clamp(52px,10vw,74px);line-height:1.1}.hero-ampersand{font-family:var(--font-serif-title);color:var(--gold-400);vertical-align:middle;margin:0 10px;font-size:clamp(30px,5vw,40px);display:inline-block}.hero-invitation-lead{font-family:var(--font-serif-body);color:var(--text-secondary);max-width:520px;margin:16px auto 0;font-size:19px;line-height:1.6}.scratch-scroll-wrapper{max-width:440px;margin:0 auto;position:relative}.scroll-rod-top,.scroll-rod-bottom{z-index:2;background:radial-gradient(#fff1c2 0%,#deb251 60%,#7d540f 100%);border-radius:8px;width:100%;height:16px;position:relative;box-shadow:0 4px 10px #00000026}.scroll-rod-top:before,.scroll-rod-top:after,.scroll-rod-bottom:before,.scroll-rod-bottom:after{content:"";background:radial-gradient(circle,#ffeaae 0%,#966a15 100%);border:1px solid #ffd875;border-radius:4px;width:16px;height:24px;position:absolute;top:50%;transform:translateY(-50%)}.scroll-rod-top:before,.scroll-rod-bottom:before{left:-8px}.scroll-rod-top:after,.scroll-rod-bottom:after{right:-8px}.scratch-parchment-stage{-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#fff 0%,#fcf7ed 100%);border-left:2px solid #deb251;border-right:2px solid #deb251;width:100%;height:220px;position:relative;overflow:hidden;box-shadow:inset 0 0 25px #d4a74233}.scratch-reveal-content{color:var(--text-dark);text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.scratch-date-month{font-family:var(--font-sans);letter-spacing:5px;color:var(--gold-500);text-transform:uppercase;font-size:15px;font-weight:800}.scratch-date-day{font-family:var(--font-serif-title);color:#2c221e;margin:2px 0;font-size:clamp(32px,7vw,42px);font-weight:700;line-height:1.1}.scratch-date-year{font-family:var(--font-serif-title);letter-spacing:4px;color:var(--gold-500);font-size:22px}.scratch-date-time{font-family:var(--font-sans);color:#57463f;border-radius:var(--radius-full);background:#b585251f;margin-top:6px;padding:4px 14px;font-size:13px;font-weight:600}.scratch-canvas{z-index:3;cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.scratch-instructions{justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex}.scratch-hint-text{font-family:var(--font-sans);color:var(--gold-500);font-size:13px;font-weight:500}.btn-luxury-sm{border:1px solid var(--gold-400);color:var(--gold-500);border-radius:var(--radius-full);font-family:var(--font-sans);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.btn-luxury-sm:hover{background:var(--gold-gradient);color:#2c221e;box-shadow:0 4px 12px #b585254d}.couple-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-top:16px;display:grid}@media (width<=580px){.couple-grid{grid-template-columns:1fr;gap:24px}}.person-card{border:1px solid var(--gold-border);border-radius:var(--radius-md);background:#fff;flex-direction:column;align-items:center;padding:22px 14px;transition:transform .3s,border-color .3s;display:flex;box-shadow:0 6px 20px #5a494114}.person-card:hover{border-color:var(--gold-400);transform:translateY(-4px)}.person-avatar-wrap{width:96px;height:96px;margin-bottom:12px;position:relative}.person-avatar-img{object-fit:cover;border:2px solid var(--gold-400);border-radius:50%;width:100%;height:100%;box-shadow:0 6px 16px #b5852540}.person-role{font-family:var(--font-sans);letter-spacing:2px;color:var(--gold-400);text-transform:uppercase;font-size:11px;font-weight:700}.person-name{font-family:var(--font-script);color:var(--gold-500);margin:4px 0 6px;font-size:40px;line-height:1.1}.parents-prefix{font-family:var(--font-serif-body);color:var(--text-muted);font-size:13px;font-style:italic}.parents-names{font-family:var(--font-serif-title);color:var(--text-primary);margin-top:2px;font-size:15px;font-weight:600}.couple-ampersand-divider{flex-direction:column;align-items:center;gap:8px;display:flex}.ampersand-circle{background:var(--gold-gradient);color:#2c221e;width:44px;height:44px;font-family:var(--font-script);border-radius:50%;justify-content:center;align-items:center;font-size:26px;display:flex;box-shadow:0 4px 15px #b5852559}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:30px;display:grid}.countdown-box{border:1px solid var(--gold-border);border-radius:var(--radius-md);background:#fff;flex-direction:column;align-items:center;padding:14px 6px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #5a49410f}.countdown-box:before{content:"";background:var(--gold-gradient);height:2px;position:absolute;top:0;left:0;right:0}.countdown-number{font-family:var(--font-serif-title);color:var(--text-primary);font-size:clamp(24px,5.5vw,36px);font-weight:700;line-height:1}.countdown-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:1.5px;color:var(--gold-400);margin-top:6px;font-size:11px;font-weight:600}.polaroids-stage{padding-top:30px;position:relative}.polaroid-threads-line{background:repeating-linear-gradient(90deg,#deb251 0 6px,#0000 6px 10px);height:2px;position:absolute;top:0;left:5%;right:5%}.polaroids-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=580px){.polaroids-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.polaroid-hang{transform-origin:top;cursor:pointer;flex-direction:column;align-items:center;display:flex}.polaroid-hang:first-child{animation:4.5s ease-in-out infinite alternate polaroid-sway}.polaroid-hang:nth-child(2){animation:5.2s ease-in-out .6s infinite alternate-reverse polaroid-sway}.polaroid-hang:nth-child(3){animation:4.8s ease-in-out 1.2s infinite alternate polaroid-sway}.polaroid-hang:nth-child(4){animation:5.5s ease-in-out .3s infinite alternate-reverse polaroid-sway}@keyframes polaroid-sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.polaroid-string{background:#deb251;width:1.5px;height:24px}.polaroid-frame{transition:transform .3s var(--ease-spring), box-shadow .3s ease;background:#fff;border:1px solid #b5852540;border-radius:4px;flex-direction:column;align-items:center;width:100%;padding:8px 8px 14px;display:flex;box-shadow:0 10px 25px #5a49411f}.polaroid-hang:hover .polaroid-frame{transform:scale(1.08)translateY(-4px);box-shadow:0 16px 30px #5a494133,0 0 15px #dfb7514d}.polaroid-photo-box{aspect-ratio:1;background:#eee;border-radius:2px;width:100%;overflow:hidden}.polaroid-photo-img{object-fit:cover;width:100%;height:100%;display:block}.polaroid-caption{font-family:var(--font-script);color:#33221c;margin-top:6px;font-size:20px;line-height:1.1}.timeline-list{text-align:left;flex-direction:column;gap:20px;margin:16px 0 0;display:flex;position:relative}.timeline-list:before{content:"";background:linear-gradient(to bottom, transparent, var(--gold-400), transparent);width:2px;position:absolute;top:15px;bottom:15px;left:20px}.timeline-item{align-items:flex-start;gap:16px;display:flex;position:relative}.timeline-dot-wrap{z-index:2;background:radial-gradient(circle, var(--gold-300) 0%, var(--gold-500) 100%);color:#2c221e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative;box-shadow:0 4px 12px #b585254d}.timeline-card-content{border:1px solid var(--gold-border);border-radius:var(--radius-md);background:#fff;flex-grow:1;padding:16px 18px;transition:all .25s;box-shadow:0 4px 15px #5a49410d}.timeline-card-content:hover{border-color:var(--gold-400);transform:translate(4px);box-shadow:0 8px 25px #b5852526}.timeline-time-badge{font-family:var(--font-sans);letter-spacing:1px;color:var(--gold-500);border-radius:var(--radius-full);background:#b585251a;margin-bottom:6px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.timeline-event-title{font-family:var(--font-serif-title);color:var(--text-primary);margin-bottom:4px;font-size:19px;font-weight:600}.timeline-event-desc{font-family:var(--font-serif-body);color:var(--text-secondary);font-size:15px;line-height:1.5}.venue-box{flex-direction:column;align-items:center;gap:16px;display:flex}.venue-name{font-family:var(--font-serif-title);color:var(--text-primary);font-size:24px;font-weight:600}.venue-address{font-family:var(--font-sans);color:var(--text-secondary);max-width:440px;font-size:14px;line-height:1.5}.map-container{border-radius:var(--radius-md);border:1px solid var(--gold-border);width:100%;height:240px;overflow:hidden;box-shadow:0 6px 20px #5a49411a}.map-iframe{border:0;width:100%;height:100%}.venue-actions-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.btn-luxury-primary{background:var(--gold-gradient);color:#2c221e;font-family:var(--font-sans);letter-spacing:.5px;border-radius:var(--radius-full);cursor:pointer;transition:all .25s var(--ease-spring);border:none;align-items:center;gap:8px;padding:10px 22px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 4px 15px #b585254d}.btn-luxury-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #b5852573}.btn-luxury-secondary{color:var(--gold-500);border:1px solid var(--gold-border);font-family:var(--font-sans);border-radius:var(--radius-full);cursor:pointer;background:#fff;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #5a49410f}.btn-luxury-secondary:hover{border-color:var(--gold-400);color:var(--text-primary);background:#b5852514}.rsvp-form{text-align:left;flex-direction:column;gap:16px;max-width:480px;margin:16px auto 0;display:flex}.form-group{box-sizing:border-box;flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.form-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:1px;color:var(--gold-500);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.form-input,.form-select,.form-textarea{border:1px solid var(--gold-border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);box-sizing:border-box;background:#fff;outline:none;width:100%;min-width:0;padding:11px 14px;font-size:14px;transition:all .2s;box-shadow:inset 0 1px 3px #00000008}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold-400);box-shadow:0 0 10px var(--gold-glow)}.rsvp-name-guests-row{box-sizing:border-box;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:flex-start;gap:12px;width:100%;display:grid}@media (width<=480px){.rsvp-name-guests-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px}.form-label{letter-spacing:.5px;font-size:10.5px}.form-input,.form-select{padding:10px 8px;font-size:13px}}.attendance-toggle-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.attendance-radio-btn{border:1px solid var(--gold-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;text-align:center;background:#fff;padding:10px;font-size:13px;font-weight:600;transition:all .2s}.attendance-radio-btn.selected{background:var(--gold-gradient);border-color:var(--gold-400);color:#2c221e;box-shadow:0 4px 15px #b5852559}.rsvp-success-card{border:1px solid var(--gold-400);border-radius:var(--radius-md);text-align:center;animation:scale-in .4s var(--ease-spring);background:#b5852514;padding:24px}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.wishes-board{text-align:left;flex-direction:column;gap:14px;max-height:380px;margin-top:18px;padding-right:6px;display:flex;overflow-y:auto}.wish-item-card{border:1px solid var(--gold-border);border-radius:var(--radius-md);background:#fff;padding:14px 18px;transition:all .2s;box-shadow:0 4px 12px #5a49410d}.wish-item-card:hover{border-color:var(--gold-400)}.wish-header-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.wish-author{font-family:var(--font-serif-title);color:var(--text-primary);font-size:15px;font-weight:600}.wish-tag{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:1px;color:var(--gold-500);background:#b585251f;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:600}.wish-message{font-family:var(--font-serif-body);color:var(--text-secondary);font-size:16px;line-height:1.5}.wish-footer-row{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;display:flex}.wish-like-btn{color:var(--gold-500);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:12px;display:inline-flex}.modal-backdrop{-webkit-backdrop-filter:blur(10px);z-index:2000;background:#2d231ea6;justify-content:center;align-items:center;padding:20px;animation:.3s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-content-card{border:1px solid var(--gold-border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:480px;box-shadow:var(--shadow-deep);animation:modal-slide .35s var(--ease-spring);background:#fff;padding:32px 24px;position:relative}@keyframes modal-slide{0%{opacity:0;transform:translateY(30px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-close-btn{border:1px solid var(--gold-border);color:var(--gold-500);cursor:pointer;background:#f8f6f0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.modal-close-btn:hover{background:var(--gold-gradient);color:#2c221e}.toast-badge{border:1.5px solid var(--gold-400);color:var(--text-primary);border-radius:var(--radius-full);font-family:var(--font-sans);z-index:3000;background:#fff;padding:10px 22px;font-size:13px;font-weight:600;animation:2.4s ease-in-out forwards toast-fade;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #5a494133}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%)translateY(20px)}15%{opacity:1;transform:translate(-50%)translateY(0)}85%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-20px)}}.page-navigator{z-index:100;-webkit-backdrop-filter:blur(12px);border:1px solid var(--gold-border);border-radius:var(--radius-full);box-shadow:0 10px 28px -6px #5a49412e, 0 0 12px var(--gold-glow);background:#ffffffe0;flex-direction:column;align-items:center;gap:8px;padding:10px 6px;transition:opacity .3s,transform .3s;animation:.6s fade-in;display:flex;position:fixed;top:50%;right:20px;transform:translateY(-50%)}[data-theme=sapphire] .page-navigator{background:#152545e0;border-color:#dfb75159}.page-nav-arrow{width:24px;height:24px;color:var(--gold-400);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.page-nav-arrow:hover:not(:disabled){color:var(--gold-500);background:#b5852526;transform:scale(1.15)}.page-nav-arrow:disabled{opacity:.2;cursor:default}.page-nav-dots{flex-direction:column;align-items:center;gap:8px;display:flex}.page-nav-dot{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:relative}.page-nav-dot-inner{background:var(--text-muted);opacity:.4;width:6px;height:6px;transition:all .3s var(--ease-spring);border-radius:50%}.page-nav-dot:hover .page-nav-dot-inner{opacity:.9;background:var(--gold-400);transform:scale(1.3)}.page-nav-dot.is-active .page-nav-dot-inner{background:var(--gold-400);width:8px;height:8px;box-shadow:0 0 0 3px #b5852540, 0 0 8px var(--gold-400);opacity:1}.page-nav-tooltip{color:var(--text-primary);font-family:var(--font-sans);letter-spacing:.5px;border-radius:var(--radius-sm);border:1px solid var(--gold-border);white-space:nowrap;opacity:0;pointer-events:none;background:#fff;padding:4px 10px;font-size:11px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)translate(6px);box-shadow:0 6px 18px #5a494126}[data-theme=sapphire] .page-nav-tooltip{color:#fbf7ee;background:#101c33}.page-nav-dot:hover .page-nav-tooltip{opacity:1;transform:translateY(-50%)translate(0)}.page-nav-counter{font-family:var(--font-sans);color:var(--gold-400);border-top:1px solid #b5852533;align-items:center;gap:2px;padding-top:4px;font-size:9px;font-weight:700;display:flex}.page-nav-counter .current-page{color:var(--gold-500)}.page-nav-counter .divider{opacity:.5}.page-nav-counter .total-pages{opacity:.7}@media (width<=768px){.page-navigator{gap:6px;padding:6px 4px;right:6px}.page-nav-arrow{width:18px;height:18px}.page-nav-dots{gap:6px}.page-nav-dot-inner{width:5px;height:5px}.page-nav-dot.is-active .page-nav-dot-inner{width:7px;height:7px}.page-nav-tooltip{display:none}.discrete-audio-btn{width:34px;height:34px;top:10px;right:10px}}@media (width<=480px){.invitation-page-wrapper{gap:22px;padding:14px 12px 32px}.luxury-card{border-radius:16px;padding:16px 12px;scroll-margin-top:6px}.section-tag{letter-spacing:2px;margin-bottom:4px;font-size:10px}.section-heading{margin-bottom:8px;font-size:23px}.section-divider{margin:6px auto 14px}.hero-couple-names{margin:4px 0 2px;font-size:34px}.hero-invitation-lead{font-size:14px;line-height:1.5}.person-card{padding:16px 10px}.person-avatar-wrap{width:80px;height:80px;margin-bottom:8px}.person-name{font-size:32px}.countdown-grid{gap:6px;margin-bottom:16px}.countdown-box{padding:8px 3px}.countdown-number{font-size:22px}.countdown-label{letter-spacing:1px;font-size:9px}.timeline-event-card,.venue-tab-card{padding:14px 10px}.venue-actions{flex-direction:column;gap:8px}.venue-action-btn{justify-content:center;width:100%}.rsvp-form-card{padding:14px 10px}}@media (height<=520px) and (orientation:landscape){.invitation-page-wrapper{gap:14px;padding:8px 12px 20px}.hero-portrait-frame{width:145px;height:180px}.luxury-card{padding:14px 18px}}
