/* Wedding Invitation - Bundled & Optimized Stylesheet */:root{--bg-primary:#FAF8F5;--bg-surface:#FFFFFF;--bg-glass:rgba(255, 255, 255, 0.85);--bg-dark:#1E1B18;--bg-dark-glass:rgba(30, 27, 24, 0.82);--text-main:#2C2623;--text-muted:#6E6761;--text-light:#FAF8F5;--gold-primary:#C5A059;--gold-light:#E4CCA1;--gold-dark:#967434;--gold-gradient:linear-gradient(135deg, #D4AF37 0%, #F3E5AB 50%, #AA771C 100%);--gold-gradient-soft:linear-gradient(135deg, #C5A059 0%, #DFCA9B 100%);--rose-accent:#9A6B74;--rose-soft:#F4ECEE;--border-gold:rgba(197, 160, 89, 0.35);--font-serif:'Cormorant Garamond', Georgia, serif;--font-display:'Cinzel', 'Playfair Display', serif;--font-script:'Great Vibes', cursive;--font-sans:'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;--shadow-sm:0 4px 12px rgba(44, 38, 35, 0.05);--shadow-md:0 12px 30px rgba(44, 38, 35, 0.08);--shadow-lg:0 20px 50px rgba(44, 38, 35, 0.12);--shadow-gold:0 10px 25px rgba(197, 160, 89, 0.25);--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-full:9999px;--transition:all 0.35s cubic-bezier(0.25, 1, 0.5, 1)}*, *::before, *::after{box-sizing:border-box;margin:0;padding:0}html, body{overflow-x:hidden;width:100%;max-width:100%}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-main);line-height:1.65;position:relative;-webkit-font-smoothing:antialiased}#petals-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:99}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:820px}h1, h2, h3, h4{font-family:var(--font-display);font-weight:500;color:var(--text-main);letter-spacing:0.03em}.script-text{font-family:var(--font-script);color:var(--gold-primary);font-size:2.2rem;font-weight:400;line-height:1.2}.gold-text{background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-header{text-align:center;margin-bottom:3.5rem;position:relative}.section-header .sub-title{display:block;font-family:var(--font-sans);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.25em;color:var(--gold-primary);margin-bottom:0.5rem;font-weight:600}.section-header h2{font-size:2.5rem;margin-bottom:0.8rem;color:var(--text-main)}.section-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0.8rem auto 0;max-width:220px}.section-divider::before, .section-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg, transparent, var(--gold-primary), transparent)}.section-divider svg{width:20px;height:20px;fill:var(--gold-primary)}.navbar{position:fixed;top:0;left:0;width:100%;padding:1.2rem 0;z-index:1000;transition:var(--transition);background:transparent}.navbar.scrolled{background:var(--bg-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-sm);padding:0.8rem 0;border-bottom:1px solid var(--border-gold)}.nav-container{display:flex;align-items:center;justify-content:space-between}.brand-logo{text-decoration:none;font-family:var(--font-display);font-size:1.4rem;letter-spacing:0.15em;color:var(--text-main);display:flex;align-items:center;gap:0.5rem}.brand-logo span{font-family:var(--font-script);color:var(--gold-primary);font-size:1.8rem}.brand-wide-logo-img, .brand-monogram-img{max-height:44px;max-width:220px;width:auto;height:auto;object-fit:contain;vertical-align:middle;transition:transform 0.3s cubic-bezier(0.16, 1, 0.3, 1)}.brand-logo:hover .brand-wide-logo-img, .brand-logo:hover .brand-monogram-img{transform:scale(1.05)}.nav-links{display:flex;list-style:none;gap:2rem;align-items:center}.nav-links a{text-decoration:none;font-size:0.9rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-main);position:relative;transition:var(--transition)}.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold-primary);transition:var(--transition)}.nav-links a:hover{color:var(--gold-primary)}.nav-links a:hover::after{width:100%}.nav-rsvp-btn{background:var(--gold-gradient-soft);color:#FFFFFF !important;padding:0.5rem 1.4rem;border-radius:var(--radius-full);box-shadow:var(--shadow-gold)}.nav-rsvp-btn::after{display:none !important}.nav-rsvp-btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(197, 160, 89, 0.35)}.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem}.mobile-menu-toggle span{display:block;width:24px;height:2px;background:var(--text-main);margin:5px 0;transition:var(--transition)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:7rem 1.5rem 5rem;background:radial-gradient(circle at center, #FFFFFF 0%, #FAF6EE 100%);overflow:hidden}.hero-background{position:absolute;inset:0;background-image:url('../assets/images/hero-medium.webp');background-size:cover;background-position:center 30%;opacity:0.18;filter:blur(2px);transform:scale(1.05)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(250, 248, 245, 0.7) 0%, rgba(250, 248, 245, 0.95) 100%)}.hero-content{position:relative;z-index:2;text-align:center;max-width:860px}.hero-badge{display:inline-block;font-family:var(--font-sans);font-size:0.8rem;letter-spacing:0.35em;text-transform:uppercase;color:var(--gold-dark);padding:0.4rem 1.5rem;border:1px solid var(--border-gold);border-radius:var(--radius-full);background:rgba(255, 255, 255, 0.75);backdrop-filter:blur(5px);margin-bottom:1.5rem}.hero-couple-names{font-family:var(--font-serif);font-size:clamp(3rem, 7vw, 5.5rem);font-weight:400;line-height:1.1;color:var(--text-main);margin-bottom:1rem}.hero-couple-names .ampersand{font-family:var(--font-script);color:var(--gold-primary);font-size:clamp(3.5rem, 8vw, 6rem);display:inline-block;margin:0 0.2rem;vertical-align:middle}.hero-date-venue{font-family:var(--font-display);font-size:1.15rem;letter-spacing:0.15em;color:var(--text-muted);text-transform:uppercase;margin-bottom:2.5rem}.hero-date-venue span{display:inline-block;margin:0 0.8rem;color:var(--gold-primary)}.hero-cta-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:0.6rem;background:var(--gold-gradient-soft);color:#FFFFFF;font-family:var(--font-sans);font-size:0.95rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;padding:0.9rem 2.2rem;border-radius:var(--radius-full);box-shadow:var(--shadow-gold);transition:var(--transition);border:none;cursor:pointer}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(197, 160, 89, 0.4)}.btn-outline{display:inline-flex;align-items:center;gap:0.6rem;background:transparent;color:var(--text-main);font-family:var(--font-sans);font-size:0.95rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;text-decoration:none;padding:0.9rem 2.2rem;border-radius:var(--radius-full);border:1px solid var(--gold-primary);transition:var(--transition);cursor:pointer}.btn-outline:hover{background:var(--gold-primary);color:#FFFFFF;transform:translateY(-3px)}.countdown-section{position:relative;margin-top:-3rem;z-index:10;padding-bottom:4rem}.countdown-box{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-gold);border-radius:var(--radius-lg);padding:2.5rem 2rem;box-shadow:var(--shadow-md);text-align:center}.countdown-title{font-size:1rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--gold-dark);margin-bottom:1.5rem;font-weight:600}.countdown-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:1.5rem;max-width:600px;margin:0 auto}.countdown-card{background:#FFFFFF;border-radius:var(--radius-md);padding:1.2rem 0.5rem;box-shadow:var(--shadow-sm);border:1px solid rgba(197, 160, 89, 0.2);transition:var(--transition)}.countdown-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-gold)}.countdown-number{font-family:var(--font-display);font-size:clamp(2rem, 4vw, 3rem);font-weight:600;color:var(--text-main);line-height:1;display:block}.countdown-label{font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);margin-top:0.5rem;display:block}.couple-section{padding:6rem 0;background:#FAF8F5;position:relative}.couple-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:2.5rem;align-items:center}.couple-card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:2.5rem;text-align:center;box-shadow:var(--shadow-md);border:1px solid rgba(197, 160, 89, 0.25);position:relative;transition:var(--transition)}.couple-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.couple-img-wrapper{width:220px;height:220px;margin:0 auto 1.8rem;border-radius:50%;position:relative;padding:6px;background:var(--gold-gradient);box-shadow:var(--shadow-gold)}.couple-img{width:100%;height:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:50%;background-color:#EFEFEF}.couple-role{font-size:0.8rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold-primary);margin-bottom:0.4rem;font-weight:600}.couple-name{font-family:var(--font-serif);font-size:2.2rem;margin-bottom:0.5rem;color:var(--text-main)}.couple-parents{font-size:0.85rem;color:var(--text-muted);font-style:italic;margin-bottom:1.2rem}.couple-bio{font-size:0.95rem;color:var(--text-muted);line-height:1.7}.couple-social{margin-top:1.2rem;display:inline-block;font-size:0.85rem;color:var(--gold-dark);text-decoration:none;font-weight:500;transition:var(--transition)}.couple-social:hover{color:var(--rose-accent)}.couple-center-badge{text-align:center;padding:1rem}.couple-center-badge .monogram-circle{width:70px;height:70px;border-radius:50%;background:var(--bg-surface);border:2px solid var(--gold-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-script);font-size:2.2rem;color:var(--gold-primary);margin:0 auto 1rem;box-shadow:var(--shadow-sm);overflow:hidden;position:relative}.couple-center-badge .monogram-circle .couple-monogram-img{max-width:52px;max-height:52px;width:auto;height:auto;object-fit:contain;display:block;transition:transform 0.3s ease}.couple-center-badge .monogram-circle:hover .couple-monogram-img{transform:scale(1.1)}.couple-center-badge .hashtag{font-family:var(--font-serif);font-size:1.1rem;letter-spacing:0.05em;color:var(--text-muted);font-style:italic}.story-section{padding:6rem 0;background:#FFFFFF;position:relative}.timeline{position:relative;max-width:860px;margin:0 auto;padding:2rem 0}.timeline::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(180deg, transparent 0%, var(--gold-primary) 15%, var(--gold-primary) 85%, transparent 100%);transform:translateX(-50%)}.timeline-item{position:relative;margin-bottom:4rem;width:50%;padding:0 2.5rem}.timeline-item:nth-child(odd){left:0;text-align:right}.timeline-item:nth-child(even){left:50%;text-align:left}.timeline-dot{position:absolute;top:0;width:44px;height:44px;border-radius:50%;background:#FAF8F5;border:2px solid var(--gold-primary);display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:var(--shadow-sm);z-index:2}.timeline-item:nth-child(odd) .timeline-dot{right:-22px}.timeline-item:nth-child(even) .timeline-dot{left:-22px}.timeline-content{background:#FAF8F5;border-radius:var(--radius-md);padding:2rem;border:1px solid rgba(197, 160, 89, 0.2);box-shadow:var(--shadow-sm);transition:var(--transition)}.timeline-content:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.timeline-year{display:inline-block;font-family:var(--font-display);font-size:0.85rem;font-weight:600;letter-spacing:0.15em;color:var(--gold-primary);margin-bottom:0.4rem}.timeline-title{font-family:var(--font-serif);font-size:1.6rem;margin-bottom:0.3rem;color:var(--text-main)}.timeline-subtitle{font-size:0.85rem;font-style:italic;color:var(--text-muted);margin-bottom:0.8rem}.timeline-desc{font-size:0.95rem;color:var(--text-muted);line-height:1.6}.events-section{padding:6rem 0;background:#FAF8F5}.events-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:2rem}.event-card{background:#FFFFFF;border-radius:var(--radius-lg);padding:2.5rem 2rem;border:1px solid rgba(197, 160, 89, 0.3);box-shadow:var(--shadow-md);display:flex;flex-direction:column;justify-content:space-between;text-align:center;position:relative;overflow:hidden;transition:var(--transition)}.event-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--gold-primary)}.event-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--gold-gradient)}.event-badge{display:inline-block;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.2em;color:var(--gold-dark);margin-bottom:0.8rem;font-weight:600}.event-title{font-family:var(--font-serif);font-size:1.8rem;margin-bottom:1.5rem;color:var(--text-main)}.event-detail-item{margin-bottom:1rem;display:flex;flex-direction:column;gap:0.2rem}.event-detail-label{font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-primary);font-weight:600}.event-detail-value{font-size:0.95rem;color:var(--text-main);font-weight:500}.event-description{font-size:0.9rem;color:var(--text-muted);margin:1rem 0 2rem;line-height:1.6}.event-actions{display:flex;flex-direction:column;gap:0.8rem}.btn-small{padding:0.6rem 1.2rem;font-size:0.85rem;letter-spacing:0.05em;border-radius:var(--radius-full);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;transition:var(--transition)}.rsvp-section{padding:6rem 0;background:#FFFFFF}.rsvp-wrapper{display:grid;grid-template-columns:1.1fr 0.9fr;gap:3rem;align-items:start}.rsvp-form-card{background:#FAF8F5;border-radius:var(--radius-lg);padding:3rem 2.5rem;border:1px solid rgba(197, 160, 89, 0.3);box-shadow:var(--shadow-md)}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:0.85rem;font-weight:600;letter-spacing:0.05em;color:var(--text-main);margin-bottom:0.5rem}.form-input, .form-select, .form-textarea{width:100%;padding:0.85rem 1.2rem;font-family:var(--font-sans);font-size:0.95rem;background:#FFFFFF;border:1px solid rgba(197, 160, 89, 0.3);border-radius:var(--radius-sm);color:var(--text-main);outline:none;transition:var(--transition)}.form-input:focus, .form-select:focus, .form-textarea:focus{border-color:var(--gold-primary);box-shadow:0 0 0 3px rgba(197, 160, 89, 0.2)}.attendance-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.attendance-option{position:relative}.attendance-option input[type="radio"]{position:absolute;opacity:0}.attendance-card{display:block;text-align:center;padding:0.9rem;border:1px solid rgba(197, 160, 89, 0.3);border-radius:var(--radius-sm);background:#FFFFFF;cursor:pointer;font-size:0.9rem;font-weight:500;transition:var(--transition)}.attendance-option input[type="radio"]:checked + .attendance-card{background:var(--gold-gradient-soft);color:#FFFFFF;border-color:transparent;box-shadow:var(--shadow-sm)}.rsvp-attending-section{transition:max-height 0.35s ease, opacity 0.25s ease, margin 0.3s ease;overflow:hidden}.rsvp-attending-section.hidden{max-height:0 !important;opacity:0;margin:0 !important;padding:0 !important;pointer-events:none}.rsvp-events-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));gap:0.75rem;margin-top:0.4rem}.rsvp-event-card{position:relative;border:1px solid rgba(197, 160, 89, 0.35);border-radius:var(--radius-sm);background:#FFFFFF;padding:0.75rem 0.9rem;cursor:pointer;transition:var(--transition);display:flex;align-items:flex-start;gap:0.65rem;user-select:none}.rsvp-event-card:hover{border-color:var(--gold-main);background:rgba(197, 160, 89, 0.05)}.rsvp-event-card.selected{border-color:var(--gold-main);background:rgba(197, 160, 89, 0.12);box-shadow:0 2px 8px rgba(197, 160, 89, 0.15)}.rsvp-event-card input[type="checkbox"]{accent-color:var(--gold-main);margin-top:0.15rem;width:1.1rem;height:1.1rem;cursor:pointer}.rsvp-event-info{display:flex;flex-direction:column}.rsvp-event-name{font-weight:600;font-size:0.88rem;color:var(--text-main);line-height:1.3}.rsvp-event-date{font-size:0.75rem;color:var(--text-muted);margin-top:2px}.grecaptcha-badge{visibility:hidden !important;opacity:0 !important;pointer-events:none !important}.recaptcha-legal-notice{font-size:0.72rem;color:var(--text-muted);text-align:center;margin-top:0.8rem;line-height:1.4}.recaptcha-legal-notice a{color:inherit;text-decoration:underline;transition:color 0.2s ease}.recaptcha-legal-notice a:hover{color:var(--gold-main)}.guestbook-card{background:#FAF8F5;border-radius:var(--radius-lg);padding:3rem 2rem;border:1px solid rgba(197, 160, 89, 0.3);box-shadow:var(--shadow-md);max-height:600px;display:flex;flex-direction:column}.guestbook-header{margin-bottom:1.5rem;border-bottom:1px solid rgba(197, 160, 89, 0.2);padding-bottom:1rem}.guestbook-header h3{font-family:var(--font-serif);font-size:1.8rem;color:var(--text-main)}.wishes-list{overflow-y:auto;padding-right:0.5rem;display:flex;flex-direction:column;gap:1.2rem}.wishes-list::-webkit-scrollbar{width:5px}.wishes-list::-webkit-scrollbar-thumb{background:var(--gold-light);border-radius:var(--radius-full)}.wish-item{background:#FFFFFF;border-radius:var(--radius-sm);padding:1.2rem;border-left:3px solid var(--gold-primary);box-shadow:var(--shadow-sm);animation:fadeIn 0.5s ease-out}.wish-author{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.4rem}.wish-name{font-weight:600;font-size:0.95rem;color:var(--text-main)}.wish-date{font-size:0.75rem;color:var(--text-muted)}.wish-relation{font-size:0.75rem;font-style:italic;color:var(--gold-dark);margin-bottom:0.4rem}.wish-text{font-size:0.9rem;color:var(--text-muted);line-height:1.5}.music-toggle-btn{position:fixed;bottom:2rem;right:2rem;width:54px;height:54px;border-radius:50%;background:var(--bg-glass);backdrop-filter:blur(10px);border:2px solid var(--gold-primary);box-shadow:var(--shadow-gold);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;transition:var(--transition)}.music-toggle-btn:hover{transform:scale(1.1)}.music-icon{width:24px;height:24px;fill:var(--gold-primary);transition:var(--transition)}.music-toggle-btn.playing{animation:musicSpin 6s linear infinite;background:var(--gold-gradient-soft)}.music-toggle-btn.playing .music-icon{fill:#FFFFFF}.footer{background:var(--bg-dark);color:var(--text-light);padding:5rem 0 2rem;text-align:center;position:relative}.footer-content{max-width:600px;margin:0 auto}.footer-monogram-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:0.5rem}.footer-wide-logo-img, .footer-monogram-img{max-height:85px;max-width:260px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));transition:transform 0.3s ease}.footer-wide-logo-img:hover, .footer-monogram-img:hover{transform:scale(1.05)}.footer-monogram{font-family:var(--font-script);font-size:3.5rem;color:var(--gold-primary);margin-bottom:0.5rem}.footer-names{font-family:var(--font-serif);font-size:2rem;letter-spacing:0.05em;margin-bottom:1rem}.footer-quote{font-style:italic;color:#B3ADA8;font-size:1rem;margin-bottom:2rem}.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255, 255, 255, 0.1);font-size:0.8rem;color:#8C847E}@media (max-width:992px){.couple-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.couple-center-badge{order:-1}.events-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.rsvp-wrapper{grid-template-columns:1fr}.timeline::before{left:20px}.timeline-item{width:100%;left:0 !important;padding-left:60px;padding-right:0;text-align:left !important}.timeline-item:nth-child(odd) .timeline-dot, .timeline-item:nth-child(even) .timeline-dot{left:0;right:auto}}@media (max-width:768px){.nav-links{position:fixed;top:70px;left:0;width:100%;background:var(--bg-surface);flex-direction:column;padding:2rem;gap:1.5rem;box-shadow:var(--shadow-md);transform:translateY(-150%);transition:var(--transition)}.nav-links.active{transform:translateY(0)}.mobile-menu-toggle{display:block}.countdown-grid{grid-template-columns:repeat(2, 1fr);gap:1rem}.music-toggle-btn{bottom:1rem;right:1rem;width:44px;height:44px;box-shadow:0 4px 15px rgba(44, 38, 35, 0.18);z-index:100}.music-toggle-btn .music-icon{width:20px;height:20px}.videos-grid{grid-template-columns:1fr;gap:1.5rem}}.videos-section{padding:6rem 0;background:#FFFFFF;position:relative}.videos-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:2rem;max-width:1080px;margin:0 auto}.video-card{background:#FAF8F5;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(197, 160, 89, 0.25);box-shadow:var(--shadow-sm);cursor:pointer;transition:var(--transition);display:flex;flex-direction:column}.video-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--gold-primary)}.video-thumb-wrapper{position:relative;width:100%;padding-top:56.25%;background:#1E1B18;overflow:hidden}.video-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.6s ease}.video-card:hover .video-thumb{transform:scale(1.08)}.video-play-overlay{position:absolute;inset:0;background:rgba(30, 27, 24, 0.35);display:flex;align-items:center;justify-content:center;transition:background 0.3s ease}.video-card:hover .video-play-overlay{background:rgba(30, 27, 24, 0.15)}.video-play-btn{width:64px;height:64px;border-radius:50%;background:var(--gold-gradient-soft);color:#FFFFFF;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(197, 160, 89, 0.4);transition:transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);padding-left:3px}.video-card:hover .video-play-btn{transform:scale(1.15)}.video-duration-badge{position:absolute;bottom:0.8rem;right:0.8rem;background:rgba(0, 0, 0, 0.7);backdrop-filter:blur(4px);color:#FFFFFF;font-size:0.75rem;font-weight:500;padding:0.2rem 0.6rem;border-radius:4px}.video-info{padding:1.5rem;flex:1;display:flex;flex-direction:column}.video-category-tag{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.15em;color:var(--gold-primary);margin-bottom:0.4rem}.video-title{font-family:var(--font-serif);font-size:1.4rem;color:var(--text-main);margin-bottom:0.4rem;line-height:1.3}.video-desc{font-size:0.88rem;color:var(--text-muted);line-height:1.5;margin-top:auto}.video-modal{position:fixed;inset:0;background:rgba(14, 12, 11, 0.95);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--transition);padding:1.5rem}.video-modal.active{opacity:1;visibility:visible}.video-modal-box{position:relative;width:100%;max-width:900px;display:flex;flex-direction:column;align-items:center}.video-modal-title{color:#FAF8F5;font-family:var(--font-serif);font-size:1.5rem;margin-bottom:1rem;text-align:center}.video-player-container{position:relative;width:100%;padding-top:56.25%;background:#000000;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 25px 60px rgba(0, 0, 0, 0.6);border:1px solid rgba(197, 160, 89, 0.3)}.video-iframe, .video-html5{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-modal-close{position:absolute;top:-3.5rem;right:0;background:rgba(255, 255, 255, 0.15);border:1px solid rgba(255, 255, 255, 0.25);color:#FFFFFF;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.8rem;transition:var(--transition)}.video-modal-close:hover{background:var(--gold-primary);border-color:var(--gold-primary);transform:scale(1.1)}.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);will-change:opacity, transform}.reveal.active{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity 0.8s ease, transform 0.8s ease}.reveal-left.active{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(40px);transition:opacity 0.8s ease, transform 0.8s ease}.reveal-right.active{opacity:1;transform:translateX(0)}.stagger-1{transition-delay:0.1s}.stagger-2{transition-delay:0.2s}.stagger-3{transition-delay:0.3s}.stagger-4{transition-delay:0.4s}@keyframes musicSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes softPulse{0%, 100%{transform:scale(1);box-shadow:0 0 0 0 rgba(197, 160, 89, 0.4)}50%{transform:scale(1.04);box-shadow:0 0 0 12px rgba(197, 160, 89, 0)}}.pulse-anim{animation:softPulse 3s infinite ease-in-out}@keyframes goldShimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.shimmer-text{background:linear-gradient( 90deg, #967434 0%, #D4AF37 25%, #FFF2B2 50%, #D4AF37 75%, #967434 100% );background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:goldShimmer 5s linear infinite}@keyframes gentleFloat{0%, 100%{transform:translateY(0px)}50%{transform:translateY(-8px)}}.float-anim{animation:gentleFloat 4s ease-in-out infinite}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.reveal-left, .reveal-right{transform:translateY(20px)}.reveal-left.active, .reveal-right.active{transform:translateY(0)}}.gallery-section{padding:6rem 0;background:#FAF8F5;position:relative}.gallery-filters{display:flex;justify-content:center;gap:0.8rem;margin-bottom:2.5rem;flex-wrap:wrap}.filter-btn{background:#FFFFFF;border:1px solid rgba(197, 160, 89, 0.3);color:var(--text-muted);font-family:var(--font-sans);font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.55rem 1.4rem;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition);font-weight:500}.filter-btn:hover{border-color:var(--gold-primary);color:var(--text-main);transform:translateY(-2px)}.filter-btn.active{background:var(--gold-gradient-soft);border-color:transparent;color:#FFFFFF;box-shadow:var(--shadow-gold)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));grid-auto-rows:250px;grid-auto-flow:dense;gap:1.25rem}.gallery-item{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;background:#EAE6DF;transition:var(--transition);border:1px solid rgba(197, 160, 89, 0.2)}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.gallery-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--gold-primary)}.gallery-pagination{display:flex;justify-content:center;align-items:center;gap:0.5rem;margin-top:3rem;flex-wrap:wrap}.gallery-page-btn{min-width:42px;height:42px;padding:0 0.9rem;display:inline-flex;justify-content:center;align-items:center;border-radius:var(--radius-full);border:1px solid rgba(197, 160, 89, 0.35);background:#FFFFFF;color:var(--text-muted);font-family:var(--font-sans);font-size:0.9rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:0 2px 8px rgba(0, 0, 0, 0.04)}.gallery-page-btn:hover:not(:disabled){border-color:var(--gold-primary);color:var(--gold-dark);transform:translateY(-2px);box-shadow:var(--shadow-gold)}.gallery-page-btn.active{background:var(--gold-gradient-soft);color:#FFFFFF;border-color:transparent;box-shadow:var(--shadow-gold);pointer-events:none}.gallery-page-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none;box-shadow:none}.gallery-page-ellipsis{padding:0 0.3rem;color:var(--text-muted);font-weight:600;user-select:none}.gallery-page-info{width:100%;text-align:center;font-size:0.85rem;color:var(--text-muted);margin-top:0.6rem;font-family:var(--font-sans);letter-spacing:0.04em}.gallery-picture{width:100%;height:100%;display:block}.gallery-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.3s ease;content-visibility:auto}.gallery-img[loading="lazy"]{opacity:0.95}.gallery-item:hover .gallery-img{transform:scale(1.08)}.gallery-overlay{position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(30, 27, 24, 0.85) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;opacity:0;transition:var(--transition)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-title{color:#FFFFFF;font-family:var(--font-serif);font-size:1.3rem;margin-bottom:0.2rem;transform:translateY(10px);transition:var(--transition)}.gallery-caption{color:#E2DFD8;font-size:0.85rem;transform:translateY(10px);transition:var(--transition);transition-delay:0.05s}.gallery-item:hover .gallery-title, .gallery-item:hover .gallery-caption{transform:translateY(0)}.gallery-view-icon{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;background:rgba(255, 255, 255, 0.3);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:1.1rem;opacity:0;transform:scale(0.8);transition:var(--transition)}.gallery-item:hover .gallery-view-icon{opacity:1;transform:scale(1)}.lightbox-modal{position:fixed;inset:0;background:rgba(14, 12, 11, 0.95);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--transition);padding:1.5rem}.lightbox-modal.active{opacity:1;visibility:visible}.lightbox-content{position:relative;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;align-items:center}.lightbox-img-wrapper{max-height:75vh;display:flex;align-items:center;justify-content:center}.lightbox-img{max-width:100%;max-height:75vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 10px 40px rgba(0, 0, 0, 0.5);border:1px solid rgba(197, 160, 89, 0.3);animation:fadeIn 0.3s ease-out}.lightbox-info{margin-top:1rem;text-align:center;color:#FAF8F5}.lightbox-title{font-family:var(--font-serif);font-size:1.4rem;margin-bottom:0.2rem;color:var(--gold-light)}.lightbox-caption{font-size:0.9rem;color:#C8C2BC}.lightbox-counter{font-size:0.8rem;letter-spacing:0.1em;color:#8E8781;margin-top:0.4rem}.lightbox-btn{position:absolute;background:rgba(255, 255, 255, 0.1);backdrop-filter:blur(5px);border:1px solid rgba(255, 255, 255, 0.2);color:#FFFFFF;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);font-size:1.4rem;user-select:none}.lightbox-btn:hover{background:var(--gold-primary);border-color:var(--gold-primary);transform:scale(1.1)}.lightbox-close{top:2rem;right:2rem}.lightbox-prev{left:2rem;top:50%;transform:translateY(-50%)}.lightbox-next{right:2rem;top:50%;transform:translateY(-50%)}.lightbox-prev:hover{transform:translateY(-50%) scale(1.1)}.lightbox-next:hover{transform:translateY(-50%) scale(1.1)}@media (max-width:992px){.gallery-grid{grid-template-columns:repeat(2, 1fr);grid-auto-rows:230px;gap:1.2rem}}@media (max-width:576px){.gallery-grid{grid-template-columns:repeat(2, 1fr);grid-auto-rows:175px;gap:0.75rem}.lightbox-prev{left:0.5rem;width:40px;height:40px}.lightbox-next{right:0.5rem;width:40px;height:40px}.lightbox-close{top:1rem;right:1rem;width:40px;height:40px}}.wax-seal-monogram-img{width:60px !important;height:60px !important;max-width:60px !important;max-height:60px !important;border-radius:50% !important;object-fit:contain !important;pointer-events:none;position:relative;z-index:3}@media (min-width:769px){#mobile-invitation-section{display:none !important}}@media (max-width:768px){.mobile-invitation-section{position:relative;width:100%;max-width:100vw;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5.6rem 1rem 3rem;background:radial-gradient(circle at 50% 20%, #FFFDF9 0%, #F5ECE0 60%, #EBDDC8 100%);overflow:hidden;overflow-x:clip;contain:paint;z-index:10;box-sizing:border-box}.mobile-invitation-section::before{content:'';position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:100%;max-width:380px;height:380px;background:radial-gradient(circle, rgba(212, 175, 55, 0.12) 0%, rgba(212, 175, 55, 0) 70%);pointer-events:none;z-index:0}.mobile-env-header{text-align:center;margin-bottom:1.25rem;position:relative;z-index:2}.mobile-env-badge{display:inline-block;font-size:0.7rem;letter-spacing:0.28em;text-transform:uppercase;color:#8C6A28;padding:0.38rem 1.3rem;border:1px solid rgba(197, 160, 89, 0.45);border-radius:var(--radius-full);background:rgba(255, 255, 255, 0.92);backdrop-filter:blur(8px);margin-bottom:0.55rem;font-weight:600;box-shadow:0 3px 12px rgba(140, 106, 40, 0.08)}.mobile-env-title{font-family:var(--font-serif);font-size:clamp(1.4rem, 5.2vw, 1.8rem);font-weight:500;color:var(--text-main);line-height:1.2;margin-bottom:0.25rem;padding:0 0.5rem;text-wrap:balance}.mobile-env-subtitle{font-family:var(--font-serif);font-style:italic;font-size:0.92rem;color:var(--text-muted);letter-spacing:0.03em}.mobile-env-stage{position:relative;width:100%;max-width:335px;height:320px;perspective:1200px;margin:0 auto;cursor:pointer;display:flex;align-items:flex-start;justify-content:center;user-select:none;-webkit-tap-highlight-color:transparent;z-index:2;transition:margin-top 0.85s cubic-bezier(0.22, 1, 0.36, 1), height 0.85s cubic-bezier(0.22, 1, 0.36, 1)}.env-sparkles-layer{position:absolute;inset:0;pointer-events:none;z-index:20;overflow:visible}.env-gold-speck{position:absolute;border-radius:50%;background:radial-gradient(circle, #FFF2B2 0%, #FFD700 60%, #D4AF37 100%);box-shadow:0 0 6px rgba(255, 215, 0, 0.8);pointer-events:none;animation:goldDustFloat 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards}@keyframes goldDustFloat{0%{transform:translate(0, 0) scale(0.3) rotate(0deg);opacity:1}100%{transform:translate(var(--tx, 0px), var(--ty, -60px)) scale(1.2) rotate(var(--rot, 90deg));opacity:0}}.envelope-box{position:relative;width:calc(100% - 16px);max-width:325px;height:315px;margin:0 auto;transform-style:preserve-3d}.envelope-shadow{position:absolute;bottom:-18px;left:8%;width:84%;height:28px;border-radius:50%;background:radial-gradient(ellipse at center, rgba(64, 46, 32, 0.35) 0%, rgba(64, 46, 32, 0) 72%);filter:blur(8px);transition:transform 0.9s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.9s ease;z-index:0}.envelope-back{position:absolute;inset:0;background:linear-gradient(135deg, #F9F4EB 0%, #EFE5D4 100%);border-radius:16px;box-shadow:0 16px 40px rgba(50, 36, 25, 0.18), inset 0 0 0 1px rgba(197, 160, 89, 0.35);overflow:hidden;z-index:1}.envelope-interior-lining{position:absolute;inset:6px;border-radius:12px;background-color:#1E241E;background-image:radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.28) 1.5px, transparent 1.5px), linear-gradient(45deg, transparent 48%, rgba(212, 175, 55, 0.2) 50%, transparent 52%), linear-gradient(-45deg, transparent 48%, rgba(212, 175, 55, 0.2) 50%, transparent 52%);background-size:20px 20px, 20px 20px, 20px 20px;border:1px solid rgba(212, 175, 55, 0.35);opacity:0.95}.envelope-gilded-band{position:absolute;top:145px;left:0;width:100%;height:42px;background:linear-gradient(180deg, #D4AF37 0%, #F5DE8B 50%, #B89146 100%);box-shadow:0 4px 12px rgba(45, 32, 22, 0.15), inset 0 1px 2px rgba(255, 255, 255, 0.6);border-top:1px solid rgba(255, 240, 180, 0.8);border-bottom:1px solid rgba(130, 95, 30, 0.5);z-index:5;pointer-events:none;overflow:hidden}.band-filigree{position:absolute;inset:2px 0;background-image:repeating-linear-gradient( 90deg, transparent 0, transparent 8px, rgba(255, 255, 255, 0.2) 8px, rgba(255, 255, 255, 0.2) 10px );opacity:0.65}.envelope-flap{position:absolute;top:0;left:0;width:100%;height:155px;transform-origin:top center;transform-style:preserve-3d;transition:transform 0.85s cubic-bezier(0.34, 1.35, 0.64, 1), z-index 0.35s ease, filter 0.85s ease;will-change:transform;-webkit-clip-path:polygon(0% 0%, 100% 0%, 50% 100%);clip-path:polygon(0% 0%, 100% 0%, 50% 100%);background:linear-gradient(180deg, #FBF8F0 0%, #EFE4CF 90%, #E2D1B5 100%);filter:drop-shadow(0 8px 16px rgba(45, 32, 22, 0.2));z-index:6;pointer-events:none}.flap-gold-rim{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:55px;height:2px;background:linear-gradient(90deg, transparent, #C5A059, transparent);z-index:2}.flap-interior-motif{position:absolute;inset:0;background-color:#1E241E;background-image:radial-gradient(circle at 50% 50%, rgba(212, 175, 55, 0.28) 1.5px, transparent 1.5px), linear-gradient(45deg, transparent 48%, rgba(212, 175, 55, 0.2) 50%, transparent 52%), linear-gradient(-45deg, transparent 48%, rgba(212, 175, 55, 0.2) 50%, transparent 52%);background-size:20px 20px, 20px 20px, 20px 20px;opacity:0;transition:opacity 0.4s ease 0.2s;z-index:1}.flap-heraldic-crest{position:absolute;top:15px;left:50%;transform:translateX(-50%);width:140px;height:80px;pointer-events:none;z-index:3;opacity:0.85}.envelope-card{position:absolute;top:10px;left:12px;right:12px;width:auto;height:335px;background:#FFFDF9;border-radius:24px 24px 16px 16px;box-shadow:0 14px 35px rgba(35, 26, 18, 0.16);z-index:2;padding:0.8rem 0.75rem;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;text-align:center;opacity:0;transform:translateY(15px) scale(0.96);pointer-events:none;transition:transform 0.95s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease, box-shadow 0.9s ease;will-change:transform, opacity}.envelope-card.has-multi-events{height:365px}.mobile-env-stage.unfolded .envelope-card.has-multi-events{transform:translateY(-115px) scale(1.02)}.card-inner-border{border:1.5px solid rgba(197, 160, 89, 0.6);outline:1px solid rgba(197, 160, 89, 0.3);outline-offset:-4px;padding:0.85rem 0.75rem 0.65rem;border-radius:20px 20px 12px 12px;background:radial-gradient(circle at center, #FFFFFF 0%, #FAF7F2 100%);display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:100%;box-sizing:border-box}.crest-wreath-svg{width:50px;height:24px;margin-bottom:0.2rem}.card-top-tag{font-family:var(--font-display);font-size:0.65rem;letter-spacing:0.28em;text-transform:uppercase;color:#8C6A28;font-weight:600;margin-bottom:0.35rem}.card-couple-names{font-family:var(--font-serif);font-size:1.72rem;font-weight:600;color:var(--text-main);line-height:1.15;margin-bottom:0.3rem}.card-couple-names .amp{font-family:var(--font-script);color:#C5A059;font-size:2.1rem;font-weight:normal;margin:0 0.15rem;vertical-align:-2px}.card-ornament-line{display:flex;align-items:center;justify-content:center;gap:0.5rem;width:80%;margin-bottom:0.5rem}.card-ornament-line .line{flex:1;height:1px;background:linear-gradient(90deg, transparent, rgba(197, 160, 89, 0.4), transparent)}.card-ornament-line .diamond{font-size:0.55rem;color:#C5A059}.card-date-venue{font-family:var(--font-display);font-size:0.76rem;color:var(--text-muted);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.6rem;line-height:1.4}.card-invite-msg{font-family:var(--font-serif);font-size:0.78rem;color:#5C554F;font-style:italic;line-height:1.45;border-top:1px dashed rgba(197, 160, 89, 0.3);padding-top:0.55rem;margin-bottom:0.3rem;max-width:92%}.card-footer-flourish{font-family:var(--font-serif);font-size:0.68rem;color:#B59350;letter-spacing:0.16em;text-transform:uppercase}.envelope-pocket{position:absolute;inset:0;z-index:4;border-radius:16px;overflow:hidden;pointer-events:none}.pocket-flap{position:absolute;inset:0}.pocket-left{-webkit-clip-path:polygon(0% 0%, 0% 100%, 54% 52%);clip-path:polygon(0% 0%, 0% 100%, 54% 52%);background:linear-gradient(90deg, #FAF4E8 0%, #ECE0CB 100%);filter:drop-shadow(3px 0 6px rgba(45, 32, 22, 0.08))}.pocket-right{-webkit-clip-path:polygon(100% 0%, 100% 100%, 46% 52%);clip-path:polygon(100% 0%, 100% 100%, 46% 52%);background:linear-gradient(270deg, #FAF4E8 0%, #ECE0CB 100%);filter:drop-shadow(-3px 0 6px rgba(45, 32, 22, 0.08))}.pocket-bottom{-webkit-clip-path:polygon(0% 100%, 100% 100%, 50% 46%);clip-path:polygon(0% 100%, 100% 100%, 50% 46%);background:linear-gradient(180deg, #F9F2E4 0%, #E8DAC2 100%);filter:drop-shadow(0 -3px 8px rgba(45, 32, 22, 0.1))}.wax-seal{position:absolute;top:165px;left:50%;transform:translate(-50%, -50%);width:72px;height:72px;border-radius:50%;z-index:10;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;transition:transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease;will-change:transform, opacity}.wax-seal-body{position:relative;width:100%;height:100%;border-radius:48% 52% 49% 51% / 51% 49% 52% 48%;background:radial-gradient(circle at 35% 32%, #FFF0BA 0%, #D4AF37 36%, #9E782F 75%, #664B13 100%);box-shadow:0 10px 26px rgba(78, 55, 12, 0.5), 0 0 15px rgba(255, 215, 0, 0.4), 0 2px 6px rgba(0, 0, 0, 0.28), inset 0 2px 4px rgba(255, 255, 255, 0.75), inset 0 -3px 5px rgba(0, 0, 0, 0.45);display:flex;align-items:center;justify-content:center}.wax-seal-groove{position:absolute;inset:4px;border-radius:50%;border:1.5px dashed rgba(255, 255, 255, 0.5);pointer-events:none}.wax-seal-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center}.wax-seal-monogram{font-family:var(--font-script);font-size:1.85rem;color:#FFFFFF;text-shadow:1px 1px 3px rgba(255, 255, 255, 0.8), -1px -1px 2px rgba(70, 48, 12, 0.7);line-height:1;transform:translateY(0);position:relative;z-index:3}.wax-seal-monogram-img{width:60px;height:60px;max-width:60px;max-height:60px;border-radius:50%;object-fit:contain;filter:drop-shadow(0 1px 4px rgba(0, 0, 0, 0.35));pointer-events:none;position:relative;z-index:3;transition:transform 0.3s ease}.wax-seal:hover .wax-seal-monogram-img{transform:scale(1.08)}.wax-seal-year{font-family:var(--font-display);font-size:0.45rem;letter-spacing:0.18em;color:rgba(255, 255, 255, 0.85);margin-top:1px;text-shadow:0 1px 2px rgba(0, 0, 0, 0.5)}.seal-glow-pulse{position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255, 215, 0, 0.85);box-shadow:0 0 14px rgba(255, 215, 0, 0.6);animation:sealRadiance 2.6s infinite ease-out;pointer-events:none}@keyframes sealRadiance{0%{transform:scale(0.9);opacity:0.95}100%{transform:scale(1.48);opacity:0}}.seal-tap-badge{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);background:rgba(36, 30, 26, 0.92);color:#F8E8CD;font-size:0.58rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;padding:2px 10px;border-radius:12px;white-space:nowrap;box-shadow:0 4px 10px rgba(0, 0, 0, 0.25);border:1px solid rgba(212, 175, 55, 0.45);pointer-events:none;transition:opacity 0.3s ease}.mobile-env-stage.unfolded .envelope-flap{transform:rotateX(180deg);z-index:2;filter:drop-shadow(0 -4px 10px rgba(45, 32, 22, 0.14))}.mobile-env-stage.unfolded .flap-interior-motif{opacity:1}.mobile-env-stage.unfolded .flap-heraldic-crest{opacity:0;transition:opacity 0.25s ease}.mobile-env-stage.unfolded{margin-top:110px}.mobile-env-stage.unfolded .wax-seal{transform:translate(-50%, -50%) scale(1.35) rotate(22deg);opacity:0;pointer-events:none}.mobile-env-stage.unfolded .envelope-card{opacity:1;transform:translateY(-95px) scale(1.02);box-shadow:0 26px 60px rgba(40, 28, 18, 0.24), 0 4px 15px rgba(197, 160, 89, 0.25);z-index:8;pointer-events:auto;transition-delay:0.22s}.mobile-env-stage.unfolded .envelope-shadow{transform:scale(1.08);opacity:0.75}.env-action-bar{margin-top:1.5rem;width:calc(100% - 32px);max-width:300px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center;gap:0.75rem;position:relative;z-index:15}.env-tap-btn{position:relative;background:linear-gradient(135deg, #C5A059 0%, #E8D5A8 50%, #B89146 100%);color:#241E1A;border:none;padding:0.8rem 1.9rem;border-radius:var(--radius-full);font-family:var(--font-sans);font-size:0.84rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;box-shadow:0 8px 24px rgba(184, 145, 70, 0.35);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:transform 0.25s ease, box-shadow 0.25s ease, background 0.3s ease, color 0.3s ease;width:100%;box-sizing:border-box}.env-tap-btn::after{content:'';position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.45), transparent);transform:rotate(25deg);animation:btnShimmer 3.2s infinite ease-in-out}@keyframes btnShimmer{0%{left:-60%}30%, 100%{left:140%}}.env-tap-btn:active{transform:scale(0.97)}.mobile-env-stage.unfolded ~ .env-action-bar .env-tap-btn{background:linear-gradient(135deg, #241E1A 0%, #3B332C 100%);color:#FFFFFF;box-shadow:0 8px 25px rgba(36, 30, 26, 0.3);border:1px solid rgba(212, 175, 55, 0.5)}.env-scroll-hint{font-size:0.78rem;color:var(--text-muted);letter-spacing:0.05em;display:flex;align-items:center;gap:0.4rem;animation:gentleBounce 2.2s infinite ease-in-out}.hint-arrow{color:var(--gold-primary);font-weight:bold}@keyframes gentleBounce{0%, 100%{transform:translateY(0)}50%{transform:translateY(5px)}}}