: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:1rem;font-size:3rem;animation:2s ease-in-out infinite pulse-light}.preloader-spinner{border:2px solid var(--color-pink-soft);border-top-color:var(--color-rose-gold);border-radius:50%;width:40px;height:40px;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;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}.cover-divider{justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.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}.site-header{z-index:900;height:72px;transition:var(--transition-smooth);-webkit-backdrop-filter:blur(12px);background:#fff9faa6;border-bottom:1px solid #f3d0d84d;position:fixed;top:0;left:0;right:0}.header-scrolled{border-bottom-color:var(--color-border);background:#ffffffeb;box-shadow:0 4px 20px #c85a740f}.header-container{justify-content:space-between;align-items:center;height:100%;display:flex}.nav-logo{align-items:center;display:flex}.logo-text{color:var(--color-rose-deep);letter-spacing:.05em;align-items:center;gap:6px;font-size:1.5rem;font-weight:700;display:flex}.logo-heart{color:var(--color-pink-accent);fill:var(--color-pink-soft)}.desktop-nav{align-items:center;display:flex}.nav-list{align-items:center;gap:28px;list-style:none;display:flex}.nav-item-btn{color:var(--color-text-main);transition:var(--transition-smooth);padding:6px 0;font-size:.9rem;font-weight:500;position:relative}.nav-item-btn:after{content:"";background-color:var(--color-rose-gold);width:0;height:2px;transition:var(--transition-smooth);border-radius:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-item-btn:hover{color:var(--color-rose-gold)}.nav-item-btn.active{color:var(--color-rose-deep);font-weight:600}.nav-item-btn.active:after{width:100%}.mobile-burger-btn{color:var(--color-rose-deep);border-radius:var(--radius-sm);transition:var(--transition-smooth);padding:8px;display:none}.mobile-burger-btn:hover{background:var(--color-pink-soft)}.mobile-nav-drawer{border-bottom:1px solid var(--color-border);opacity:0;visibility:hidden;z-index:899;background:#fff;transition:all .4s cubic-bezier(.16,1,.3,1);position:fixed;top:72px;left:0;right:0;transform:translateY(-120%);box-shadow:0 15px 30px #00000014}.drawer-open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-drawer-header{border-bottom:1px dashed var(--color-border-light);text-align:center;padding:16px 24px 8px}.drawer-title{color:var(--color-rose-gold);font-size:1.3rem}.mobile-nav-list{flex-direction:column;gap:12px;padding:12px 24px 24px;list-style:none;display:flex}.mobile-nav-btn{text-align:center;width:100%;color:var(--color-text-main);border-radius:var(--radius-md);transition:var(--transition-smooth);padding:12px;font-size:1rem;font-weight:500}.mobile-nav-btn:hover,.mobile-nav-btn.active{background-color:var(--color-bg-secondary);color:var(--color-rose-deep);font-weight:600}@media (width<=820px){.desktop-nav{display:none}.mobile-burger-btn{justify-content:center;align-items:center;display:flex}}.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;margin-bottom:20px;font-size:clamp(3rem,7vw,5.2rem);line-height:1.1}.hero-names .ampersand{font-family:var(--font-script);color:var(--color-pink-accent);padding:0 10px;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;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:100px 0;position:relative;overflow:hidden}.timeline-container{max-width:900px;margin:0 auto;padding:20px 0;position:relative}.timeline-center-line{background:var(--color-border);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{width:50%;margin-bottom:60px;position:relative}.timeline-item.left{padding-right:40px;left:0}.timeline-item.right{padding-left:40px;left:50%}.timeline-badge{background:var(--color-rose-deep);color:#fff;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:0;box-shadow:0 4px 14px #8c253b40}.timeline-item.left .timeline-badge{right:-22px}.timeline-item.right .timeline-badge{left:-22px}.badge-svg{color:var(--color-pink-soft)}.timeline-content-box{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);padding:28px}.timeline-content-box:hover{box-shadow:var(--shadow-floating);transform:translateY(-4px)}.timeline-year{color:var(--color-rose-gold);margin-bottom:4px;font-size:1.8rem;display:block}.timeline-title{color:var(--color-rose-deep);margin-bottom:10px;font-size:1.6rem}.timeline-desc{color:var(--color-text-muted);margin-bottom:16px;font-size:.95rem;line-height:1.6}.timeline-img-wrapper{border-radius:var(--radius-md);height:180px;overflow:hidden}.timeline-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.timeline-content-box:hover .timeline-img{transform:scale(1.05)}@media (width<=768px){.timeline-center-line{left:24px}.timeline-item{width:100%;margin-bottom:40px}.timeline-item.left,.timeline-item.right{padding-left:64px;padding-right:0;left:0}.timeline-item.left .timeline-badge,.timeline-item.right .timeline-badge{left:2px}}.events-section{background-color:var(--color-bg-primary);padding:100px 0}.events-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:36px;max-width:1040px;margin:0 auto;display:grid}.event-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;display:flex;overflow:hidden}.event-card:hover{box-shadow:var(--shadow-floating);transform:translateY(-6px)}.event-img-header{height:220px;position:relative;overflow:hidden}.event-img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.event-card:hover .event-img{transform:scale(1.06)}.event-img-overlay{color:#fff;background:linear-gradient(#0000001a 0%,#8c253bbf 100%);flex-direction:column;justify-content:flex-end;padding:24px;display:flex;position:absolute;inset:0}.event-subtitle{color:var(--color-pink-soft);margin-bottom:-6px;font-size:1.8rem}.event-title{color:#fff;font-size:2.2rem}.event-body{flex-direction:column;flex-grow:1;gap:20px;padding:32px 28px;display:flex}.event-info-row{align-items:flex-start;gap:16px;display:flex}.info-icon{color:var(--color-rose-gold);flex-shrink:0;margin-top:3px}.row-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-light);font-size:.75rem;display:block}.row-val{color:var(--color-text-main);font-size:1rem;font-weight:600}.venue-name{color:var(--color-rose-deep);font-family:var(--font-heading);font-size:1.25rem}.address-text{color:var(--color-text-muted);margin-top:2px;font-size:.88rem}.maps-btn{border-radius:var(--radius-md);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:8px;margin-top:auto;padding:12px;font-size:.9rem;font-weight:600;display:inline-flex}.maps-btn:hover{background:var(--color-rose-gold);color:#fff;border-color:var(--color-rose-gold)}.gallery-section{background-color:var(--color-bg-secondary);padding:100px 0}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.gallery-item{border-radius:var(--radius-md);height:320px;box-shadow:var(--shadow-medium);cursor:pointer;outline:none;position:relative;overflow:hidden}.gallery-thumbnail{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.25,1,.5,1)}.gallery-overlay{color:#fff;opacity:0;text-align:center;background:#8c253ba6;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;transition:opacity .35s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-thumbnail,.gallery-item:focus .gallery-thumbnail{transform:scale(1.08)}.gallery-item:hover .gallery-overlay,.gallery-item:focus .gallery-overlay{opacity:1}.zoom-icon{color:var(--color-pink-soft)}.gallery-caption{font-family:var(--font-heading);letter-spacing:.02em;font-size:1.2rem}.lightbox-modal{z-index:9995;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f080ae0;justify-content:center;align-items:center;padding:24px;animation:.3s forwards fadeIn;display:flex;position:fixed;inset:0}.lightbox-content{border-radius:var(--radius-md);max-width:90vw;max-height:85vh;position:relative;overflow:hidden;box-shadow:0 25px 60px #00000080}.lightbox-img{object-fit:contain;max-width:100%;max-height:85vh;display:block}.lightbox-close{color:var(--color-rose-deep);width:40px;height:40px;transition:var(--transition-smooth);z-index:10;background:#ffffffd9;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.lightbox-close:hover{background:#fff;transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.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:28px;left:28px}.audio-toggle-btn{background:var(--color-rose-deep);color:#fff;width:52px;height:52px;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 8px 24px #8c253b59}.audio-toggle-btn:hover{background:var(--color-rose-gold);transform:scale(1.1);box-shadow:0 12px 28px #8c253b73}.audio-toggle-btn:active{transform:scale(.95)}.btn-ring{border:1.5px dashed var(--color-pink-accent);pointer-events:none;opacity:.7;border-radius:50%;position:absolute;inset:-6px}.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;padding:80px 0 40px;position:relative}.footer-container{flex-direction:column;align-items:center;gap:16px;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;margin:0 auto;font-size:2.2rem;line-height:1.4}.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}
