:root{--color-bg-primary:#fff9fa;--color-bg-secondary:#fdf0f3;--color-bg-card:#fff;--color-pink-soft:#fde8ed;--color-pink-accent:#e88399;--color-rose-gold:#c85a74;--color-rose-deep:#8c253b;--color-champagne:#d4af37;--color-champagne-light:#f9f3e6;--color-text-main:#332729;--color-text-muted:#6b5b60;--color-text-light:#948388;--color-border:#f3d0d8;--color-border-light:#faeaee;--font-heading:"Cormorant Garamond", Georgia, serif;--font-script:"Great Vibes", cursive;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--shadow-subtle:0 4px 20px #c85a740d;--shadow-medium:0 10px 30px #c85a7414;--shadow-floating:0 15px 40px #8c253b1f;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--transition-smooth:all .35s cubic-bezier(.25, 1, .5, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-bg-primary);color:var(--color-text-main);font-size:16px;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-pink-accent);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-rose-gold)}*{scrollbar-width:thin;scrollbar-color:var(--color-pink-accent) var(--color-bg-primary)}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-rose-deep);font-weight:600;line-height:1.2}.font-script{font-family:var(--font-script)}.font-heading{font-family:var(--font-heading)}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none;outline:none}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1140px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.section-title{text-align:center;margin-bottom:3rem}.section-title h2{color:var(--color-rose-deep);letter-spacing:-.01em;margin-bottom:.5rem;font-size:clamp(2.2rem,4vw,3.2rem)}.section-title .script-subtitle{font-family:var(--font-script);color:var(--color-rose-gold);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:400;display:block}.divider-line{color:var(--color-pink-accent);justify-content:center;align-items:center;gap:12px;margin:12px auto 0;display:flex}.divider-line:before,.divider-line:after{content:"";background-color:var(--color-border);width:50px;height:1px}.preloader{z-index:9999;background-color:var(--color-bg-primary);flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s,visibility .8s;display:flex;position:fixed;inset:0}.preloader.fade-out{opacity:0;visibility:hidden;pointer-events:none}.preloader-monogram{font-family:var(--font-heading);color:var(--color-rose-deep);letter-spacing:.1em;margin-bottom:.5rem;font-size:3rem;animation:2s ease-in-out infinite pulse-light}.preloader-fountain-wrapper{justify-content:center;align-items:center;margin:10px 0 16px;display:flex}.preloader-fountain{filter:drop-shadow(0 6px 16px #c85a7440)}.preloader-spinner{border:2px solid var(--color-pink-soft);border-top-color:var(--color-rose-gold);border-radius:50%;width:40px;height:40px;margin-top:8px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-light{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.toast-container{z-index:9990;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;background-color:var(--color-rose-deep);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-floating);align-items:center;gap:10px;padding:12px 20px;font-size:.9rem;font-weight:500;animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.container{padding-left:16px;padding-right:16px}}.opening-cover{z-index:999;touch-action:none;background:linear-gradient(135deg,#fff5f7 0%,#faeef2 50%,#f5e5ea 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.petal-container{pointer-events:none;position:absolute;inset:0;overflow:hidden}.petal{background:#e8839966;border-radius:15px 0;width:14px;height:18px;animation:linear infinite floatDown;position:absolute;top:-20px;box-shadow:0 2px 5px #c85a741a}@keyframes floatDown{0%{opacity:.8;transform:translateY(0)rotate(0)}to{opacity:.1;transform:translateY(105vh)rotate(360deg)}}.cover-wrapper{z-index:2;width:100%;max-width:480px;padding:24px}.cover-card{border-radius:var(--radius-lg);text-align:center;border:1px solid var(--color-border);background:#fff;padding:40px 32px;position:relative;overflow:hidden;box-shadow:0 20px 50px #8c253b14}.cover-card:before{content:"";border:1px dashed var(--color-border);border-radius:calc(var(--radius-lg) - 8px);pointer-events:none;position:absolute;inset:12px}.cover-header{margin-bottom:24px}.wedding-subtitle{color:var(--color-rose-gold);font-size:2rem;display:block}.couple-heading{color:var(--color-rose-deep);letter-spacing:.02em;margin-top:-4px;font-size:2.5rem}.opening-cover-divider{justify-content:center;align-items:center;gap:12px;width:100%;margin:12px auto 0;display:flex}.opening-cover-divider .line{background-color:var(--color-border);width:40px;height:1px}.heart-icon{color:var(--color-pink-accent);fill:var(--color-pink-soft)}.cover-guest-box{background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:28px;padding:18px}.guest-label{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:6px;font-size:.8rem;display:block}.guest-name{font-family:var(--font-heading);color:var(--color-rose-deep);font-size:1.4rem;font-weight:600}.cover-action{justify-content:center;margin-bottom:20px;display:flex}.open-seal-btn{background:linear-gradient(135deg, var(--color-rose-gold) 0%, var(--color-rose-deep) 100%);color:#fff;border-radius:var(--radius-full);transition:var(--transition-smooth);padding:14px 28px;position:relative;box-shadow:0 8px 24px #8c253b40}.open-seal-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #8c253b59}.seal-inner{letter-spacing:.05em;align-items:center;gap:10px;font-size:.95rem;font-weight:600;display:flex}.sparkle-decor{color:var(--color-champagne);animation:1.8s infinite pulse-light;position:absolute;top:-6px;right:-6px}.cover-date-footer{color:var(--color-text-muted);letter-spacing:.04em;font-size:1.1rem}.fountain-decor-wrapper{justify-content:center;align-items:center;margin-bottom:8px;display:flex}.cover-fountain{filter:drop-shadow(0 6px 14px #c85a7433);transition:transform .3s}.cover-fountain:hover{transform:scale(1.05)}.water-jet{stroke-dasharray:6 3;stroke-dashoffset:0;opacity:.9;animation:.5s linear infinite flowWaterContinuous}.jet-center{stroke-dasharray:5 3;animation-duration:.4s}.jet-left-1,.jet-right-1{stroke-dasharray:6 3;animation-duration:.5s}.jet-left-2,.jet-right-2{stroke-dasharray:7 3.5;animation-duration:.6s}.water-drop{opacity:.85;animation:1.1s linear infinite fallDropContinuous}.drop-1{animation-delay:0s}.drop-2{animation-delay:.15s}.drop-3{animation-delay:.3s}.drop-4{animation-delay:.45s}.drop-5{animation-delay:.6s}.drop-6{animation-delay:.75s}.drop-7{animation-delay:.9s}.water-ripple{transform-origin:50px 63px;animation:1.6s ease-out infinite rippleExpand}.ripple-small{transform-origin:50px 43px;animation-delay:.8s}@keyframes flowWaterContinuous{0%{stroke-dashoffset:0}to{stroke-dashoffset:-9px}}@keyframes fallDropContinuous{0%{opacity:.9;transform:translateY(0)scale(.9)}80%{opacity:.8}to{opacity:0;transform:translateY(14px)scale(1.1)}}@keyframes rippleExpand{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.3)}}.hero-section{justify-content:center;align-items:center;min-height:100vh;padding:120px 0 80px;display:flex;position:relative;overflow:hidden}.hero-backdrop{z-index:1;position:absolute;inset:0}.hero-bg-img{object-fit:cover;object-position:center;filter:brightness(.92);width:100%;height:100%}.hero-overlay{z-index:2;background:linear-gradient(#fff9fabf 0%,#fdf0f3e0 60%,#fff9fa 100%);position:absolute;inset:0}.hero-container{z-index:3;text-align:center;position:relative}.hero-content{flex-direction:column;align-items:center;max-width:780px;margin:0 auto;display:flex}.hero-tagline{color:var(--color-rose-gold);margin-bottom:-10px;font-size:clamp(2.2rem,5vw,3.4rem)}.hero-names{color:var(--color-rose-deep);letter-spacing:.02em;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-bottom:20px;font-size:clamp(2.6rem,5.5vw,4.8rem);line-height:1.2;display:flex}.hero-names .name-wrapper{align-items:center;gap:14px;display:inline-flex}.hero-avatar{object-fit:cover;width:clamp(46px,5.5vw,64px);height:clamp(46px,5.5vw,64px);box-shadow:0 4px 15px #c85a7440, 0 0 0 2px var(--color-rose-gold);border:3px solid #fff;border-radius:50%;flex-shrink:0;transition:transform .3s,box-shadow .3s}.hero-avatar:hover{box-shadow:0 6px 20px #c85a7459, 0 0 0 2px var(--color-pink-accent);transform:scale(1.08)}.hero-names .ampersand{font-family:var(--font-script);color:var(--color-pink-accent);padding:0 4px;font-weight:400}.hero-date-badge{border-radius:var(--radius-full);border:1px solid var(--color-border);box-shadow:var(--shadow-medium);color:var(--color-rose-deep);background:#fff;align-items:center;gap:10px;margin-bottom:24px;padding:10px 24px;font-size:1rem;font-weight:600;display:inline-flex}.badge-icon{color:var(--color-rose-gold)}.hero-quote{font-family:var(--font-heading);color:var(--color-text-muted);max-width:580px;margin:0 auto 36px;font-size:clamp(1.1rem,2.2vw,1.4rem);font-style:italic;line-height:1.5}.countdown-grid{justify-content:center;align-items:center;gap:16px;margin-bottom:40px;display:flex}.countdown-item{border-radius:var(--radius-md);min-width:84px;box-shadow:var(--shadow-medium);border:1px solid var(--color-border-light);transition:var(--transition-smooth);background:#fff;flex-direction:column;align-items:center;padding:14px 10px;display:flex}.countdown-item:hover{box-shadow:var(--shadow-floating);transform:translateY(-4px)}.countdown-item .number{color:var(--color-rose-deep);font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:700;line-height:1}.countdown-item .label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-top:6px;font-size:.75rem}.countdown-colon{font-family:var(--font-heading);color:var(--color-rose-gold);font-size:2rem;font-weight:600}.hero-actions{gap:16px;display:flex}.calendar-btn{background:var(--color-rose-deep);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-floating);transition:var(--transition-smooth);align-items:center;gap:10px;padding:14px 32px;font-size:.95rem;font-weight:600;display:inline-flex}.calendar-btn:hover{background:var(--color-rose-gold);transform:translateY(-2px)}@media (width<=600px){.countdown-grid{gap:8px}.countdown-item{min-width:68px;padding:10px 6px}.countdown-colon{font-size:1.4rem}}.couple-section{background-color:var(--color-bg-primary);padding:100px 0;position:relative}.svg-decor-wrapper{justify-content:center;margin-bottom:20px;display:flex}.rings-svg{width:140px;height:70px}.couple-grid{grid-template-columns:1fr auto 1fr;align-items:center;gap:40px;max-width:1000px;margin:0 auto;display:grid}.couple-card{background:var(--color-bg-card);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-medium);border:1px solid var(--color-border-light);transition:var(--transition-smooth);padding:36px 28px}.couple-card:hover{box-shadow:var(--shadow-floating);transform:translateY(-6px)}.couple-photo-wrapper{width:180px;height:180px;margin:0 auto 24px;position:relative}.couple-photo{object-fit:cover;border-radius:50%;width:100%;height:100%;box-shadow:0 8px 24px #c85a7426}.photo-frame{border:2px dashed var(--color-pink-accent);pointer-events:none;border-radius:50%;animation:30s linear infinite spin;position:absolute;inset:-6px}.couple-name{color:var(--color-rose-deep);margin-bottom:4px;font-size:2rem}.couple-role{text-transform:uppercase;letter-spacing:.12em;color:var(--color-rose-gold);margin-bottom:16px;font-size:.85rem;font-weight:600;display:block}.couple-bio{color:var(--color-text-muted);margin-bottom:20px;font-size:.95rem;line-height:1.6}.parents-info{border-top:1px dashed var(--color-border);margin-bottom:20px;padding-top:16px}.info-title{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);margin-bottom:4px;font-size:.75rem;display:block}.parents-info p{font-family:var(--font-heading);color:var(--color-text-main);font-size:1.1rem;font-weight:600}.social-link{color:var(--color-rose-gold);border-radius:var(--radius-full);background:var(--color-bg-secondary);transition:var(--transition-smooth);align-items:center;gap:8px;padding:6px 16px;font-size:.85rem;font-weight:500;display:inline-flex}.social-link:hover{background:var(--color-pink-soft);color:var(--color-rose-deep)}.couple-center-symbol{color:var(--color-pink-accent);opacity:.8;text-align:center;font-size:4rem}@media (width<=860px){.couple-grid{grid-template-columns:1fr;gap:32px}.couple-center-symbol{margin:-10px 0}}.story-section{background-color:var(--color-bg-secondary);padding:90px 0;position:relative;overflow:hidden}.story-section:before{content:"";pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0 C40 15 40 45 30 60 C20 45 20 15 30 0 Z M0 30 C15 40 45 40 60 30 C45 20 15 20 0 30 Z' fill='none' stroke='%23C85A74' stroke-width='0.75' stroke-opacity='0.09'/%3E%3Ccircle cx='30' cy='30' r='3' fill='none' stroke='%23C85A74' stroke-width='0.75' stroke-opacity='0.12'/%3E%3C/svg%3E");background-repeat:repeat;position:absolute;inset:0}.story-bg-motifs{pointer-events:none;z-index:2;position:absolute;inset:0}.bg-motif{pointer-events:none;width:140px;height:140px;transition:transform .5s;position:absolute}.motif-top-left{animation:10s ease-in-out infinite alternate floatMotif;top:20px;left:20px}.motif-top-right{animation:12s ease-in-out infinite alternate-reverse floatMotif;top:20px;right:20px}.motif-bottom-left{animation:11s ease-in-out infinite alternate-reverse floatMotif;bottom:20px;left:20px}.motif-bottom-right{animation:9s ease-in-out infinite alternate floatMotif;bottom:20px;right:20px}@keyframes floatMotif{0%{transform:translateY(0)rotate(0)}to{transform:translateY(8px)rotate(3deg)}}.wedge-stage-container{width:100%;max-width:560px;height:310px;margin:0 auto 36px;position:relative}.stage-top-arch{background:radial-gradient(circle at 50% 100%,#fde8edf2 0%,#fdf0f300 75%);border-top-left-radius:280px;border-top-right-radius:280px;width:100%;height:280px;position:relative;overflow:hidden;box-shadow:0 -8px 24px #7e1c3014}.viewline{background:linear-gradient(90deg, #c85a741a 0%, var(--color-rose-gold) 50%, #c85a741a 100%);z-index:15;height:3px;position:absolute;bottom:0;left:-20px;right:-20px}.wheel{transform-origin:280px 280px;will-change:transform;width:560px;height:560px;margin-left:-280px;transition:transform .7s cubic-bezier(.65,0,.35,1);position:absolute;top:0;left:50%}.slot{box-sizing:border-box;border:3px solid var(--color-champagne);transition:opacity .7s cubic-bezier(.65,0,.35,1),filter .7s cubic-bezier(.65,0,.35,1);display:flex;position:absolute;inset:0}.slot-inactive{opacity:.38;filter:grayscale(15%)}.slot-active{opacity:1;filter:grayscale(0%);z-index:5}.slot-bg-photo{background-position:50%;background-size:cover;transition:transform .8s;position:absolute;inset:0}.slot-active:hover .slot-bg-photo{transform:scale(1.05)}.slot-dark-overlay{background:linear-gradient(#7e1c3066 0%,#460c18c7 45%,#1e040af0 100%);transition:background .5s;position:absolute;inset:0}.slot-content{text-align:center;transform-origin:50%;pointer-events:auto;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;width:275px;transition:transform .7s cubic-bezier(.65,0,.35,1);display:flex;position:absolute;top:21%;left:50%}.slot-meta-row{justify-content:center;align-items:center;gap:6px;margin-bottom:6px;display:flex}.slot-icon-pill{width:24px;height:24px;color:var(--color-rose-deep);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0000004d}.slot-location{color:#fffffff2;text-shadow:0 1px 3px #0006;align-items:center;gap:4px;font-size:.82rem;font-weight:500;display:flex}.slot-title{color:#fff;text-shadow:0 2px 8px #00000080;margin-bottom:8px;font-size:1.6rem;font-weight:700;line-height:1.2}.slot-desc{color:#fff0f3;-webkit-line-clamp:3;line-clamp:3;text-shadow:0 1px 3px #00000080;-webkit-box-orient:vertical;max-width:255px;margin:0 auto;font-size:.86rem;line-height:1.45;display:-webkit-box;overflow:hidden}.hub{background:var(--color-bg-card);border:2.5px solid var(--color-rose-gold);z-index:20;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:absolute;top:280px;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px #7e1c3059}.hub-inner-ring{background:linear-gradient(135deg, var(--color-pink-soft) 0%, var(--color-bg-secondary) 100%);border:1px dashed var(--color-rose-gold);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.hub-heart{color:var(--color-rose-deep);animation:2s ease-in-out infinite heartPulse}@keyframes heartPulse{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}.stage-nav-btn{background:var(--color-bg-card);width:44px;height:44px;color:var(--color-rose-deep);border:1.5px solid var(--color-rose-gold);box-shadow:var(--shadow-floating);cursor:pointer;z-index:30;transition:var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:258px}.stage-nav-btn:hover{background:var(--color-rose-deep);color:#fff;border-color:var(--color-rose-deep);transform:scale(1.1)}@media (width<=600px){.wedge-stage-container{max-width:400px;height:240px}.stage-top-arch{border-top-left-radius:210px;border-top-right-radius:210px;height:210px}.wheel{transform-origin:210px 210px;width:420px;height:420px;margin-left:-210px}.slot-content{width:220px;top:20%}.slot-title{margin-bottom:4px;font-size:1.2rem}.slot-desc{-webkit-line-clamp:2;line-clamp:2;text-shadow:0 1px 3px #00000080;-webkit-box-orient:vertical;max-width:200px;margin:0 auto;font-size:.74rem;line-height:1.35;display:-webkit-box;overflow:hidden}.hub{width:42px;height:42px;top:210px}.hub-inner-ring{width:30px;height:30px}.stage-nav-btn{width:38px;height:38px;top:188px}}.events-section{background-color:var(--color-bg-primary);padding:80px 0}.events-grid{grid-template-columns:repeat(2,1fr);gap:24px;max-width:940px;margin:0 auto 48px;display:grid}.event-card.compact-card{background:var(--color-bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-medium);border:1px solid var(--color-border-light);flex-direction:column;display:flex;position:relative;overflow:hidden}.event-img-header{height:170px;position:relative;overflow:hidden}.event-img{object-fit:cover;width:100%;height:100%}.event-img-overlay{color:#fff;background:linear-gradient(#00000026 0%,#8c253bd9 100%);flex-direction:column;justify-content:flex-end;padding:16px;display:flex;position:absolute;inset:0}.event-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-full);background:#ffffff40;border:1px solid #ffffff59;padding:3px 10px;font-size:.68rem;font-weight:700;position:absolute;top:12px;right:12px}.event-subtitle{color:var(--color-pink-soft);margin-bottom:-4px;font-size:1.3rem}.event-title{color:#fff;font-size:1.6rem;line-height:1.1}.event-body{flex-direction:column;flex-grow:1;gap:12px;padding:18px 16px;display:flex}.event-info-row{align-items:center;gap:10px;display:flex}.event-info-row.venue-row{align-items:flex-start}.info-icon{color:var(--color-rose-gold);flex-shrink:0}.font-compact{color:var(--color-text-main);font-size:.88rem;font-weight:600}.venue-details{flex-direction:column;display:flex}.venue-name{color:var(--color-rose-deep);font-family:var(--font-heading);font-size:1.05rem;font-weight:600;line-height:1.2}.address-text{color:var(--color-text-muted);margin-top:2px;font-size:.78rem;line-height:1.25}.maps-btn{border-radius:var(--radius-sm);background:var(--color-bg-secondary);width:100%;color:var(--color-rose-deep);transition:var(--transition-smooth);border:1px solid var(--color-border);justify-content:center;align-items:center;gap:6px;margin-top:auto;padding:9px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.maps-btn:hover{background:var(--color-rose-gold);color:#fff;border-color:var(--color-rose-gold)}.dresscode-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:940px;box-shadow:var(--shadow-medium);background:linear-gradient(145deg,#fff 0%,#fdf0f3 100%);margin:0 auto;padding:32px}.dresscode-header{border-bottom:1px dashed var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.dresscode-title-group{align-items:center;gap:14px;display:flex}.dresscode-icon-badge{border-radius:var(--radius-md);background:var(--color-pink-soft);width:44px;height:44px;color:var(--color-rose-deep);justify-content:center;align-items:center;display:flex;box-shadow:0 4px 12px #c85a741f}.dresscode-script{color:var(--color-rose-gold);font-size:1.4rem;line-height:1;display:block}.dresscode-heading{color:var(--color-rose-deep);font-size:1.6rem}.dresscode-subtitle-note{color:var(--color-rose-gold);background:var(--color-pink-soft);border-radius:var(--radius-full);align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:500;display:inline-flex}.sparkle-icon{color:var(--color-rose-gold)}.fabric-swatches-container{flex-direction:column;gap:20px;display:flex}.swatches-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.swatch-card{cursor:pointer;background:0 0;border:none;outline:none;flex-direction:column;align-items:center;gap:8px;display:flex}.fabric-sample{border:2px solid #fffc;border-radius:14px;width:100%;height:70px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 4px 14px #0000001f}.swatch-card:hover .fabric-sample{transform:translateY(-3px)scale(1.04);box-shadow:0 8px 20px #8c253b33}.swatch-card.selected .fabric-sample{border-color:var(--color-rose-deep);transform:translateY(-3px)scale(1.05);box-shadow:0 8px 22px #8c253b4d}.fabric-texture-overlay{opacity:.6;background-image:radial-gradient(#ffffff26 1px,#0000 0),linear-gradient(45deg,#ffffff1a 25%,#0000 25% 75%,#ffffff1a 75%);background-size:6px 6px,12px 12px;position:absolute;inset:0}.fabric-shine{background:linear-gradient(115deg,#0000 30%,#ffffff73 48%,#ffffffbf 50%,#ffffff73 52%,#0000 70%);width:200%;height:200%;transition:transform .6s;position:absolute;top:-50%;left:-50%;transform:rotate(15deg)}.swatch-card:hover .fabric-shine{transform:translate(20%,20%)rotate(15deg)}.fabric-folds{mix-blend-mode:overlay;background:linear-gradient(90deg,#00000026 0%,#0000 20%,#ffffff40 40%,#0000001a 60%,#0000 80%,#fff3 100%);position:absolute;inset:0}.swatch-check{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;background:#8c253b66;border-radius:12px;justify-content:center;align-items:center;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards check-pop;display:flex;position:absolute;inset:0}@keyframes check-pop{0%{opacity:0;transform:scale(.3)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}.swatch-name{color:var(--color-text-main);text-align:center;font-size:.75rem;font-weight:600;line-height:1.2;transition:color .3s}.swatch-card.selected .swatch-name{color:var(--color-rose-deep);font-weight:700}.swatch-detail-box.unified-detail{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-subtle);will-change:opacity, transform;background:#fff;padding:20px 22px}.swatch-animate-in{animation:.38s cubic-bezier(.22,1,.36,1) forwards swatch-fade-slide}@keyframes swatch-fade-slide{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.swatch-animate-in .swatch-preview-dot{transition:background .4s;animation:.4s forwards dot-pulse}@keyframes dot-pulse{0%{opacity:.3;transform:scale(.5)}60%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.swatch-animate-in .attire-role-card:first-child{animation:.35s cubic-bezier(.22,1,.36,1) 40ms both card-slide-in}.swatch-animate-in .attire-role-card:nth-child(2){animation:.35s cubic-bezier(.22,1,.36,1) 90ms both card-slide-in}@keyframes card-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.swatch-detail-header{align-items:center;gap:14px;margin-bottom:14px;display:flex}.mannequin-preview-badge{background:var(--color-bg-primary);border:1px solid var(--color-border);width:46px;height:46px;transition:var(--transition-smooth);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:5px;display:flex;box-shadow:0 4px 12px #c85a741f}.mannequin-svg{width:100%;height:100%}.swatch-preview-dot{border-radius:50%;flex-shrink:0;width:22px;height:22px;box-shadow:0 2px 6px #00000026}.swatch-title-wrap{flex-wrap:wrap;flex-grow:1;align-items:center;gap:10px;display:flex}.swatch-detail-title{color:var(--color-rose-deep);font-size:1rem}.swatch-dresscode-tag{color:var(--color-rose-gold);background:var(--color-bg-secondary);border-radius:var(--radius-full);border:1px solid var(--color-border);padding:3px 10px;font-size:.78rem}.copy-hex-btn{border-radius:var(--radius-full);background:var(--color-bg-secondary);border:1px solid var(--color-border);color:var(--color-rose-gold);transition:var(--transition-smooth);align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.copy-hex-btn:hover{background:var(--color-rose-gold);color:#fff}.copied-txt{color:#10b981;align-items:center;gap:3px;font-weight:700;display:flex}.swatch-attire-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;display:grid}.attire-role-card{background:var(--color-bg-primary);border-radius:var(--radius-sm);border-left:3px solid var(--color-rose-gold);padding:14px}.role-header{align-items:center;gap:6px;margin-bottom:6px;display:flex}.role-header strong{color:var(--color-rose-deep);font-size:.88rem}.role-emoji{font-size:1.05rem}.attire-role-card p{color:var(--color-text-muted);font-size:.82rem;line-height:1.4}.swatch-note-bar{border-top:1px dashed var(--color-border-light);padding-top:10px}.swatch-recommendation{color:var(--color-text-muted);font-size:.8rem;line-height:1.35}@media (width<=640px){.events-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:32px}.event-img-header{height:110px}.event-img-overlay{padding:10px 8px}.event-badge{padding:2px 6px;font-size:.58rem;top:6px;right:6px}.event-subtitle{font-size:.95rem}.event-title{font-size:1.1rem}.event-body{gap:8px;padding:10px 8px}.event-info-row{gap:6px}.info-icon{width:13px;height:13px}.font-compact{font-size:.72rem}.venue-name{font-size:.85rem}.address-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.68rem;display:-webkit-box;overflow:hidden}.maps-btn{gap:4px;padding:6px 4px;font-size:.7rem}.dresscode-wrapper{border-radius:var(--radius-md);padding:18px 14px}.dresscode-header{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:16px;padding-bottom:14px}.dresscode-heading{font-size:1.3rem}.swatches-grid{grid-template-columns:repeat(4,1fr);gap:8px}.fabric-sample{border-radius:10px;height:52px}.swatch-name{font-size:.65rem}.swatch-detail-box.unified-detail{padding:14px}.swatch-title-wrap{flex-direction:column;align-items:flex-start;gap:2px}.swatch-attire-grid{grid-template-columns:repeat(2,1fr);gap:8px}.attire-role-card{padding:10px}.attire-role-card p{font-size:.72rem}}.gallery-section{background-color:var(--color-bg-secondary);padding:100px 0;position:relative}.bento-grid-container{grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:20px;display:grid}.bento-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);background-color:var(--color-bg-card);cursor:pointer;outline:none;transition:transform .4s cubic-bezier(.25,1,.5,1),box-shadow .4s;position:relative;overflow:hidden}.bento-card:hover,.bento-card:focus-visible{transform:translateY(-6px);box-shadow:0 20px 45px #8c253b2e}.bento-img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.25,1,.5,1)}.bento-card:hover .bento-img{transform:scale(1.07)}.bento-hero{grid-area:span 2/span 8;height:440px}.bento-tall{grid-area:span 2/span 4;height:440px}.bento-quote-box{border:1px solid var(--color-border);text-align:center;cursor:default;background:linear-gradient(135deg,#fff4f7 0%,#fde4eb 100%);flex-direction:column;grid-column:span 4;justify-content:center;align-items:center;height:210px;padding:24px;display:flex}.bento-quote-box:hover{transform:translateY(-4px)}.quote-sparkle{color:var(--color-rose-gold);margin-bottom:8px;animation:3s ease-in-out infinite pulse-light}.quote-text{font-family:var(--font-script);color:var(--color-rose-deep);margin-bottom:8px;font-size:1.5rem;line-height:1.3}.quote-author{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-rose-gold);font-size:.75rem;font-weight:600}.bento-polaroid-box{background:var(--color-bg-primary);grid-column:span 4;justify-content:center;align-items:center;height:210px;padding:12px;display:flex;overflow:visible}.polaroid-frame{border-radius:var(--radius-sm);background:#fff;flex-direction:column;align-items:center;width:90%;padding:10px 10px 16px;transition:transform .4s cubic-bezier(.25,1,.5,1);display:flex;transform:rotate(-2.5deg);box-shadow:0 10px 25px #8c253b1f}.bento-polaroid-box:hover .polaroid-frame{transform:rotate(0)scale(1.04)}.polaroid-photo-wrapper{border-radius:4px;width:100%;height:125px;overflow:hidden}.polaroid-photo-wrapper img{object-fit:cover;width:100%;height:100%}.polaroid-caption{font-family:var(--font-script);color:var(--color-text-main);text-align:center;margin-top:8px;font-size:1.15rem}.bento-stats-box{background:linear-gradient(135deg, var(--color-rose-deep) 0%, #6e1a2c 100%);color:#fff;cursor:default;grid-column:span 4;justify-content:space-around;align-items:center;height:210px;padding:24px;display:flex}.bento-stats-box:hover{transform:translateY(-4px)}.stat-item{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.stat-number{font-family:var(--font-heading);font-size:1.6rem;font-weight:600;line-height:1;display:block}.stat-label{opacity:.85;letter-spacing:.05em;text-transform:uppercase;font-size:.75rem}.stat-divider{background:#fff3;width:1px;height:50px}.bento-panoramic{grid-column:span 8;height:220px}.bento-standard-1{grid-column:span 4;height:220px}.bento-standard-2,.bento-standard-3{grid-column:span 6;height:220px}.bento-hero-secondary{grid-column:span 12;height:280px}.bento-like-pill{border-radius:var(--radius-full);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text-muted);z-index:2;transition:var(--transition-smooth);background:#ffffffd9;align-items:center;gap:5px;padding:6px 12px;font-size:.8rem;font-weight:600;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 4px 12px #00000014}.bento-like-pill:hover{color:var(--color-rose-gold);background:#fff;transform:scale(1.08)}.bento-like-pill.liked{color:var(--color-rose-gold);background:#fff}.bento-like-pill.liked svg{animation:.35s cubic-bezier(.175,.885,.32,1.275) heartPulse}.bento-card-overlay{color:#fff;opacity:0;z-index:1;background:linear-gradient(#8c253b0d 0%,#28080fd9 100%);flex-direction:column;justify-content:space-between;align-items:flex-start;padding:24px;transition:opacity .35s;display:flex;position:absolute;inset:0}.bento-card:hover .bento-card-overlay,.bento-card:focus-visible .bento-card-overlay{opacity:1}.zoom-indicator{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff40;border-radius:50%;justify-content:center;align-self:flex-end;align-items:center;width:40px;height:40px;transition:transform .35s;display:flex}.bento-card:hover .zoom-indicator{transform:scale(1.1)rotate(6deg)}.bento-text{flex-direction:column;gap:4px;display:flex}.bento-date{letter-spacing:.08em;text-transform:uppercase;color:var(--color-pink-soft);font-size:.75rem;font-weight:500}.bento-text h3{font-family:var(--font-heading);color:#fff;margin:0;font-size:1.3rem;font-weight:500;line-height:1.25}.lightbox-modal{z-index:9995;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f080aeb;justify-content:center;align-items:center;padding:20px;animation:.3s forwards fadeIn;display:flex;position:fixed;inset:0}.lightbox-content{background:var(--color-bg-card);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:900px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #0009}.lightbox-close{color:#fff;width:38px;height:38px;transition:var(--transition-smooth);z-index:12;background:#0006;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.lightbox-close:hover{background:var(--color-rose-deep);transform:scale(1.1)}.lightbox-header{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.lightbox-counter{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.lightbox-image-wrapper{background:#0d0608;justify-content:center;align-items:center;min-height:300px;max-height:65vh;display:flex;position:relative}.lightbox-img{object-fit:contain;max-width:100%;max-height:65vh;display:block}.lightbox-nav{width:44px;height:44px;color:var(--color-rose-deep);transition:var(--transition-smooth);z-index:10;background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #0003}.lightbox-nav:hover{background:#fff;transform:translateY(-50%)scale(1.1)}.nav-prev{left:16px}.nav-next{right:16px}.lightbox-footer{background:var(--color-bg-primary);border-top:1px solid var(--color-border-light);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.lightbox-caption{font-family:var(--font-heading);color:var(--color-rose-deep);margin:0;font-size:1.2rem}.lightbox-date{color:var(--color-text-muted);font-size:.8rem}.lightbox-like-btn{border-radius:var(--radius-full);background:var(--color-pink-soft);color:var(--color-rose-deep);transition:var(--transition-smooth);align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:600;display:flex}.lightbox-like-btn.liked{background:var(--color-rose-gold);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1023px){.bento-grid-container{grid-template-columns:repeat(6,1fr);gap:16px}.bento-hero{grid-area:span 1/span 6;height:340px}.bento-tall{grid-area:span 1/span 3;height:300px}.bento-standard-1{grid-column:span 3;height:300px}.bento-quote-box,.bento-polaroid-box{grid-column:span 3;height:200px}.bento-stats-box{grid-column:span 6;height:180px}.bento-panoramic{grid-column:span 6;height:240px}.bento-standard-2,.bento-standard-3{grid-column:span 3;height:200px}.bento-hero-secondary{grid-column:span 6;height:260px}}@media (width<=639px){.gallery-section{padding:60px 0}.bento-grid-container{grid-template-columns:repeat(2,1fr);gap:12px}.bento-hero{grid-area:span 1/span 2;height:260px}.bento-tall{grid-area:span 1/span 1;height:200px}.bento-standard-1{grid-column:span 1;height:200px}.bento-quote-box{grid-column:span 2;height:auto;min-height:130px;padding:20px 16px}.quote-text{font-size:1.3rem}.bento-polaroid-box{grid-column:span 2;height:210px}.polaroid-frame{width:95%}.polaroid-photo-wrapper{height:135px}.bento-stats-box{grid-column:span 2;height:auto;padding:16px}.stat-number{font-size:1.3rem}.bento-panoramic{grid-column:span 2;height:200px}.bento-standard-2,.bento-standard-3{grid-column:span 1;height:190px}.bento-hero-secondary{grid-column:span 2;height:240px}.bento-text h3{font-size:1.1rem}.bento-like-pill{padding:4px 8px;font-size:.72rem;top:8px;right:8px}.lightbox-nav{width:36px;height:36px}.nav-prev{left:8px}.nav-next{right:8px}.lightbox-header,.lightbox-footer{padding:12px 16px}}.wishes-book-wrapper{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:1000px;margin:0 auto;display:flex}.wishes-book-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:0 4px;display:flex}.book-header-info{flex-direction:column;gap:4px;display:flex}.book-subtitle{color:var(--color-rose-gold,#c5a059);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.book-title{color:var(--color-text-primary,#1f2937);margin:0;font-size:1.6rem}.book-stats-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stat-pill{background:var(--color-bg-card,#fff);border:1px solid var(--color-border-light,#c5a05940);border-radius:var(--radius-full,9999px);color:var(--color-text-muted,#4b5563);align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:500;display:inline-flex;box-shadow:0 2px 8px #0000000a}.stat-icon{color:var(--color-rose-gold,#c5a059)}.book-stage-container{justify-content:center;align-items:center;width:100%;min-height:560px;padding:10px 0;display:flex;position:relative;overflow:hidden}.book-container{background:#1e1b18;border-radius:8px;box-shadow:0 22px 50px #00000038,0 8px 20px #0000001f}.page{box-sizing:border-box;background-color:#faf7f0;overflow:hidden}.page-content{box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-direction:column;width:100%;height:100%;padding:24px 22px;display:flex;position:relative}.page-cover{color:#f5e6d3;background:linear-gradient(135deg,#2a1b1f 0%,#1e1317 100%)}.cover-content{height:100%;padding:18px}.cover-border{outline-offset:-8px;box-sizing:border-box;text-align:center;background:radial-gradient(circle,#2a1b1fe6 0%,#140c0ff2 100%);border:2px solid #d4af37;border-radius:4px;outline:1px solid #d4af3766;flex-direction:column;justify-content:space-between;align-items:center;width:100%;height:100%;padding:28px 20px;display:flex;position:relative}.cover-corner{border:2px solid #d4af37;width:16px;height:16px;position:absolute}.cover-corner.top-left{border-bottom:none;border-right:none;top:4px;left:4px}.cover-corner.top-right{border-bottom:none;border-left:none;top:4px;right:4px}.cover-corner.bottom-left{border-top:none;border-right:none;bottom:4px;left:4px}.cover-corner.bottom-right{border-top:none;border-left:none;bottom:4px;right:4px}.cover-emblem{flex-direction:column;align-items:center;gap:8px;margin-top:10px;display:flex}.emblem-sparkle{color:#d4af37}.monogram{font-family:var(--font-heading,"Playfair Display", serif);letter-spacing:.2em;color:#f5e6d3;border-bottom:1px solid #d4af37;padding-bottom:4px;font-size:1.5rem}.cover-title-group{flex-direction:column;align-items:center;gap:8px;display:flex}.cover-sub{letter-spacing:.25em;color:#c5a059;font-size:.72rem}.cover-heading{color:#fff;text-shadow:0 2px 4px #00000080;margin:4px 0;font-size:1.8rem;line-height:1.2}.wishes-cover-divider{background:linear-gradient(90deg,#0000,#d4af37,#0000);width:60px;height:1px;margin:6px auto}.cover-tag{letter-spacing:.2em;color:#d4af37;font-size:.7rem;font-weight:600}.cover-date{color:#f5e6d3bf;letter-spacing:.15em;font-size:.75rem}.cover-flip-prompt{color:#d4af37;background:#d4af371f;border:1px solid #d4af374d;border-radius:999px;align-items:center;gap:6px;margin-bottom:6px;padding:6px 14px;font-size:.75rem;animation:2s ease-in-out infinite pulsePrompt;display:inline-flex}@keyframes pulsePrompt{0%,to{opacity:.8;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.page-cover--inside{color:#2d1e24;background:#faf7f0}.inside-cover-content{padding:20px}.inside-cover-border{text-align:center;box-sizing:border-box;border:1px solid #c5a0594d;border-radius:4px;flex-direction:column;justify-content:space-between;align-items:center;height:100%;padding:24px 20px;display:flex}.section-badge{color:#c5a059;letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.inside-heading{color:#2a1b1f;margin:6px 0 10px;font-size:1.4rem}.inside-quote{color:#5a4b51;max-width:320px;margin:0;font-size:.88rem;font-style:italic;line-height:1.6}.inside-signature{color:#2a1b1f;flex-direction:column;gap:2px;font-size:.9rem;display:flex}.inside-signature strong{color:var(--color-rose-deep,#c45b73);font-size:1.15rem}.inside-guide-box{text-align:left;background:#c5a05914;border:1px dashed #c5a05966;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.inside-guide-box p{color:#6b5b60;margin:0;font-size:.78rem;line-height:1.4}.guide-icon{color:#c5a059;flex-shrink:0;margin-top:2px}.page-paper{background:#fffdf9;box-shadow:inset 0 0 20px #00000008}.paper-content{padding:24px 20px 16px}.paper-header{justify-content:space-between;align-items:center;width:100%;display:flex}.paper-subtitle{letter-spacing:.15em;color:#c5a059;text-transform:uppercase;font-size:.72rem}.paper-page-num{color:#8b7b80;font-size:.75rem}.paper-divider{background:linear-gradient(90deg,#c5a059 0%,#c5a05933 100%);width:100%;height:1px;margin:10px 0 16px}.wishes-list-container{flex-direction:column;flex:1;gap:14px;display:flex}.book-wish-card{background:#faf7f2;border:1px solid #c5a05940;border-radius:8px;flex-direction:column;gap:8px;padding:14px 16px;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 2px 6px #00000005}.book-wish-card:hover{border-color:#c5a05980}.wish-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.wish-author-name{color:var(--color-rose-deep,#c45b73);font-size:1.05rem;font-weight:600}.wish-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:600}.wish-status-badge.attending{color:var(--color-rose-deep,#c45b73);background:#e883992e}.wish-status-badge.regret{color:#6b7280;background:#f3f4f6}.wish-message-body{color:#4b5563;margin:0;font-size:.85rem;line-height:1.5}.wish-card-bottom{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.wish-time-str{color:#9ca3af;font-size:.72rem}.wish-love-button{color:var(--color-rose-deep,#c45b73);cursor:pointer;background:0 0;border:1px solid #e883994d;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;transition:all .2s;display:inline-flex}.wish-love-button:hover{background:#e883991f;transform:scale(1.05)}.heart-icon{fill:#e88399;color:#e88399}.paper-footer{text-align:center;margin-top:auto;padding-top:10px}.paper-watermark{color:#c5a059;letter-spacing:.1em;opacity:.7;font-size:.68rem;font-style:italic}.sign-promo-content{align-items:center}.sign-promo-box{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:10px;display:flex}.promo-icon{color:#c5a059}.promo-title{color:#2a1b1f;margin:0;font-size:1.3rem}.promo-desc{color:#6b5b60;max-width:280px;margin:0;font-size:.85rem;line-height:1.5}.promo-gold-badge{color:#c5a059;background:#c5a0591f;border:1px solid #c5a0594d;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;display:inline-flex}.back-cover-content{justify-content:center}.back-cover-sub{color:#f5e6d3d9;max-width:240px;margin:8px 0;font-size:.85rem;line-height:1.5}.book-controls-bar{background:var(--color-bg-card,#fff);border:1px solid var(--color-border-light,#c5a0594d);border-radius:var(--radius-full,9999px);justify-content:space-between;align-items:center;width:100%;max-width:520px;padding:6px 12px;display:flex;box-shadow:0 4px 16px #0000000f}.book-nav-btn{background:var(--color-bg-primary,#fff8f9);border:1px solid var(--color-border-light,#c5a05940);color:var(--color-rose-deep,#c45b73);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.book-nav-btn:hover:not(:disabled){background:var(--color-rose-deep,#c45b73);color:#fff;transform:translateY(-1px)}.book-nav-btn:disabled{opacity:.4;cursor:not-allowed}.book-page-indicator{align-items:center;gap:8px;display:flex}.cover-jump-btn{width:28px;height:28px;color:var(--color-rose-gold,#c5a059);cursor:pointer;background:#c5a0591f;border:1px solid #c5a0594d;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.cover-jump-btn:hover{background:var(--color-rose-gold,#c5a059);color:#fff}.page-indicator-text{color:var(--color-text-primary,#1f2937);font-size:.85rem;font-weight:600}.portrait-badge{color:var(--color-rose-gold,#c5a059);text-transform:uppercase;background:#c5a05926;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:600}@media (width<=768px){.wishes-book-header{flex-direction:column;align-items:flex-start}.book-title{font-size:1.35rem}.book-stage-container{min-height:480px;padding:0}.cover-heading{font-size:1.4rem}.inside-heading{font-size:1.2rem}.btn-label{display:none}.book-nav-btn{padding:8px 10px}}.rsvp-section{background-color:var(--color-bg-primary);padding:100px 0}.rsvp-layout{grid-template-columns:1fr 1fr;gap:36px;max-width:1040px;margin:0 auto;display:grid}.rsvp-form-card,.wishes-wall-card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);border:1px solid var(--color-border-light);flex-direction:column;padding:36px;display:flex}.card-heading{color:var(--color-rose-deep);font-size:1.8rem}.card-subtext{color:var(--color-text-muted);margin-bottom:24px;font-size:.88rem}.rsvp-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--color-text-main);font-size:.85rem;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--color-rose-gold);pointer-events:none;position:absolute;left:14px}.input-wrapper input,.input-wrapper select,.input-wrapper textarea{width:100%;font-family:var(--font-body);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg-primary);color:var(--color-text-main);transition:var(--transition-smooth);outline:none;padding:12px 14px 12px 42px;font-size:.95rem}.textarea-wrapper .input-icon{top:14px}.input-wrapper textarea{resize:vertical}.input-wrapper input:focus,.input-wrapper select:focus,.input-wrapper textarea:focus{border-color:var(--color-rose-gold);background-color:#fff;box-shadow:0 0 0 3px #c85a741f}.radio-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.radio-card{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-primary);cursor:pointer;transition:var(--transition-smooth);align-items:center;gap:10px;padding:12px;font-size:.88rem;font-weight:500;display:flex}.radio-card input{display:none}.radio-icon{color:var(--color-text-light)}.radio-card.active{background:var(--color-bg-secondary);border-color:var(--color-rose-gold);color:var(--color-rose-deep);font-weight:600}.radio-card.active .radio-icon{color:var(--color-rose-gold)}.submit-rsvp-btn{background:var(--color-rose-deep);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-medium);transition:var(--transition-smooth);justify-content:center;align-items:center;gap:10px;margin-top:8px;padding:14px;font-size:.95rem;font-weight:600;display:flex}.submit-rsvp-btn:hover{background:var(--color-rose-gold);transform:translateY(-2px)}.wishes-scroll-list{flex-direction:column;gap:14px;max-height:480px;padding-right:6px;display:flex;overflow-y:auto}.wish-card{background:var(--color-bg-primary);border-radius:var(--radius-md);border:1px solid var(--color-border-light);flex-direction:column;gap:8px;padding:18px;display:flex}.wish-header{justify-content:space-between;align-items:center;display:flex}.wish-author{color:var(--color-rose-deep);font-size:1.2rem}.attendance-tag{border-radius:var(--radius-full);text-transform:uppercase;padding:2px 10px;font-size:.72rem;font-weight:600}.attendance-tag.attending{color:var(--color-rose-deep);background:#e8839933}.attendance-tag.regret{color:#6b7280;background:#f3f4f6}.wish-text{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.wish-footer{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.wish-date{color:var(--color-text-light);font-size:.75rem}.wish-like-btn{color:var(--color-rose-gold);transition:var(--transition-smooth);align-items:center;gap:4px;font-size:.78rem;display:flex}.wish-like-btn:hover{transform:scale(1.1)}.like-icon{fill:var(--color-pink-soft)}@media (width<=820px){.rsvp-layout{grid-template-columns:1fr}}.gift-section{background-color:var(--color-bg-secondary);padding:100px 0}.gift-intro{text-align:center;max-width:640px;color:var(--color-text-muted);margin:-1rem auto 3rem;font-size:.98rem;line-height:1.6}.gift-cards-container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;max-width:1040px;margin:0 auto;display:grid}.gift-card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);border:1px solid var(--color-border-light);transition:var(--transition-smooth);flex-direction:column;justify-content:space-between;gap:20px;padding:32px 28px;display:flex}.gift-card:hover{box-shadow:var(--shadow-floating);transform:translateY(-4px)}.gift-card-header{border-bottom:1px dashed var(--color-border);align-items:center;gap:12px;padding-bottom:16px;display:flex}.gift-bank-icon{color:var(--color-rose-gold)}.bank-name{font-family:var(--font-heading);color:var(--color-rose-deep);font-size:1.4rem;font-weight:600}.gift-card-body{flex-direction:column;gap:6px;display:flex}.acc-number{color:var(--color-text-main);letter-spacing:.05em;font-size:1.6rem;font-weight:700}.acc-holder{color:var(--color-text-muted);font-size:.88rem}.address-flex{align-items:flex-start;gap:10px;display:flex}.address-icon{color:var(--color-rose-gold);flex-shrink:0;margin-top:2px}.physical-address{color:var(--color-text-main);margin-top:4px;font-size:.9rem}.copy-btn{border-radius:var(--radius-md);background:var(--color-bg-primary);width:100%;color:var(--color-rose-deep);border:1px solid var(--color-border);transition:var(--transition-smooth);justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.88rem;font-weight:600;display:flex}.copy-btn:hover{background:var(--color-pink-soft);border-color:var(--color-rose-gold)}.copy-btn.copied{background:var(--color-rose-deep);color:#fff;border-color:var(--color-rose-deep)}.audio-player-widget{z-index:99999;pointer-events:auto;position:fixed;bottom:20px;left:20px}.audio-toggle-btn{background:var(--color-rose-deep);color:#fff;width:40px;height:40px;transition:var(--transition-smooth);cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #fff;border-radius:50%;outline:none;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 4px 14px #8c253b4d}.audio-toggle-btn:hover{background:var(--color-rose-gold);transform:scale(1.08);box-shadow:0 6px 18px #8c253b66}.audio-toggle-btn:active{transform:scale(.95)}.btn-ring{border:1.2px dashed var(--color-pink-accent);pointer-events:none;opacity:.7;border-radius:50%;position:absolute;inset:-4px}.audio-toggle-btn.playing .btn-ring{opacity:1;animation:8s linear infinite spin}.audio-toggle-btn.playing{animation:3s ease-in-out infinite floatBounce}@keyframes floatBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.site-footer{background-color:var(--color-rose-deep);color:#fff;text-align:center;box-sizing:border-box;justify-content:center;align-items:center;min-height:100dvh;padding:60px 0;display:flex;position:relative}.footer-container{flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;display:flex}.footer-monogram{color:var(--color-pink-soft);align-items:center;gap:8px;font-size:2.2rem;font-weight:700;display:flex}.footer-heart{color:var(--color-pink-accent);fill:var(--color-pink-soft)}.footer-names{color:#fff;letter-spacing:.02em;font-size:2.4rem}.footer-thanks{color:var(--color-pink-soft);max-width:600px;min-height:3.2em;margin:0 auto;font-size:2.2rem;line-height:1.4;display:inline-block}.typewriter-cursor{color:var(--color-pink-accent);margin-left:2px;font-weight:300;animation:.7s infinite typewriterBlink;display:inline-block}.typewriter-cursor.finished{animation:1s 2s forwards typewriterFadeOut}@keyframes typewriterBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes typewriterFadeOut{0%{opacity:1}to{opacity:0}}.footer-date{color:#ffffffbf;letter-spacing:.12em;margin-top:8px;font-size:1.1rem}.back-to-top-btn{color:#fff;border-radius:var(--radius-full);transition:var(--transition-smooth);background:#ffffff1f;border:1px solid #fff3;align-items:center;gap:6px;margin-top:24px;padding:10px 20px;font-size:.85rem;font-weight:500;display:inline-flex}.back-to-top-btn:hover{background:#ffffff40;transform:translateY(-2px)}.footer-copyright{color:#ffffff80;margin-top:24px;font-size:.78rem}.creoforge-badge{background:#ffffff1f;border:1px solid #fff3;border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:6px 16px;font-size:.85rem;transition:all .25s;display:inline-flex;box-shadow:0 2px 8px #0000001a}.creoforge-badge:hover{background:#ffffff38;border-color:#fff6;box-shadow:0 4px 12px #00000026}.creoforge-label{color:#fffc;font-weight:400}.creoforge-brand{color:#fff;align-items:center;gap:6px;font-weight:700;text-decoration:none;display:inline-flex}.creoforge-logo{vertical-align:middle;width:18px;height:18px;transition:transform .3s;display:inline-block}.creoforge-brand:hover .creoforge-logo{transform:rotate(180deg)}.creoforge-name{letter-spacing:-.01em;color:#fff;font-size:.9rem}.creoforge-divider{color:var(--color-pink-soft,#f7c5d1);opacity:.6;font-size:.8rem}.creoforge-tagline{color:#ffffffbf;font-size:.82rem;font-style:italic}
