:root{--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--bg-dark: #0f0d0c;--bg-card: rgba(28, 24, 22, .75);--bg-card-hover: rgba(38, 32, 29, .85);--gold-primary: #d4af37;--gold-light: #f3e5ab;--gold-gradient: linear-gradient(135deg, #f3e5ab 0%, #d4af37 50%, #aa7c11 100%);--rose-gold: #e0a9af;--text-main: #f8f6f0;--text-muted: #c5beb7;--text-gold: #e6c687;--border-gold: rgba(212, 175, 55, .3);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .12);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 28px;--radius-full: 9999px;--shadow-glow: 0 0 35px rgba(212, 175, 55, .15);--shadow-deep: 0 20px 40px rgba(0, 0, 0, .6);--transition-fast: .2s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background-color:var(--bg-dark);color:var(--text-main);scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{min-height:100vh;position:relative;overflow-x:hidden}.ambient-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-2;overflow:hidden}.ambient-bg video{width:100%;height:100%;object-fit:cover;filter:blur(60px) scale(1.2) opacity(.35);transform:translateZ(0)}.ambient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#0f0d0c66,#0f0d0ce6);z-index:1}.floating-petals{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;overflow:hidden}.petal{position:absolute;width:12px;height:12px;background:#e0a9af66;border-radius:15px 0;animation:floatPetal 14s linear infinite}@keyframes floatPetal{0%{transform:translateY(-10vh) rotate(0) translate(0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(105vh) rotate(720deg) translate(100px);opacity:0}}.page-container{max-width:580px;margin:0 auto;padding:40px 20px 60px;display:flex;flex-direction:column;align-items:center;gap:36px;position:relative;z-index:2}.header{text-align:center;display:flex;flex-direction:column;align-items:center}.save-badge{display:inline-flex;align-items:center;gap:12px;margin-bottom:12px}.badge-line{height:1px;width:32px;background:var(--gold-gradient)}.badge-text{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.25em;color:var(--text-gold);text-transform:uppercase}.couple-names{font-family:var(--font-heading);font-size:3rem;font-weight:400;line-height:1.1;background:var(--gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px;text-shadow:0 2px 10px rgba(212,175,55,.1)}.wedding-date-str{font-size:1.1rem;font-weight:400;color:var(--text-main);letter-spacing:.05em}.wedding-location-str{font-size:.9rem;color:var(--text-muted);margin-top:4px}.video-section{width:100%;display:flex;justify-content:center}.phone-frame{width:100%;max-width:340px;aspect-ratio:9 / 16;border-radius:var(--radius-lg);padding:8px;background:linear-gradient(145deg,#d4af3759,#ffffff0d,#d4af3733);box-shadow:var(--shadow-deep),var(--shadow-glow);position:relative;transition:transform var(--transition-normal)}.phone-frame:hover{transform:translateY(-4px)}.video-container{width:100%;height:100%;border-radius:calc(var(--radius-lg) - 6px);overflow:hidden;position:relative;background-color:#000}#main-video{width:100%;height:100%;object-fit:cover;display:block}.video-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0003,#0000 40%,#000000a6);display:flex;flex-direction:column;justify-content:space-between;padding:16px;transition:opacity var(--transition-fast)}.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:var(--radius-full);background:#0f0d0ca6;border:1px solid var(--border-gold);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--gold-light);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px #0006;transition:all var(--transition-normal)}.play-btn svg{width:28px;height:28px;margin-left:3px}.play-btn .icon-pause{margin-left:0}.play-btn:hover{transform:translate(-50%,-50%) scale(1.1);background:var(--gold-primary);color:#000;box-shadow:0 0 20px #d4af3799}.video-bottom-bar{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-bottom:8px;z-index:3}.sound-toggle-btn,.fullscreen-btn{background:#00000080;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-main);padding:8px 14px;border-radius:var(--radius-full);display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.sound-toggle-btn:hover,.fullscreen-btn:hover{background:#d4af3740;border-color:var(--gold-primary)}.sound-toggle-btn svg,.fullscreen-btn svg{width:16px;height:16px}.fullscreen-btn{padding:8px}.progress-bar-container{width:100%;height:4px;background:#fff3;border-radius:2px;cursor:pointer;overflow:hidden;position:relative;z-index:3}.progress-bar{height:100%;width:0%;background:var(--gold-gradient);transition:width .1s linear}.hidden{display:none!important}.action-bar{width:100%;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;border:none}.btn svg{width:18px;height:18px}.btn-primary{background:var(--gold-gradient);color:#0f0d0c;box-shadow:0 4px 20px #d4af3740}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #d4af3773}.btn-secondary{background:var(--bg-card);color:var(--text-main);border:1px solid var(--border-gold);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn-secondary:hover{background:#d4af3726;transform:translateY(-2px);border-color:var(--gold-primary)}.btn-full{width:100%}.countdown-section{width:100%;text-align:center}.section-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:400;color:var(--text-gold);margin-bottom:20px;letter-spacing:.03em}.timer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.timer-card{background:var(--bg-card);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);padding:16px 8px;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 15px #0000004d;transition:border-color var(--transition-fast)}.timer-card:hover{border-color:var(--border-gold)}.timer-num{font-family:var(--font-heading);font-size:2.2rem;font-weight:600;line-height:1;color:var(--text-main)}.timer-unit{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-top:6px}.info-section{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-card{background:var(--bg-card);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);padding:20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.info-icon{width:42px;height:42px;border-radius:var(--radius-full);background:#d4af371f;color:var(--gold-primary);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.info-icon svg{width:20px;height:20px}.info-card h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;color:var(--text-gold)}.info-card p{font-size:.9rem;color:var(--text-main);line-height:1.4}.info-card small{color:var(--text-muted);font-size:.8rem}.footer{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--glass-border);width:100%}.footer-quote{font-family:var(--font-heading);font-style:italic;font-size:1.1rem;color:var(--text-gold);margin-bottom:12px;line-height:1.4}.footer-names{font-family:var(--font-heading);font-size:1.5rem;color:var(--text-main);margin-bottom:6px}.footer-tagline{font-size:.8rem;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0807d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;opacity:1;transition:opacity var(--transition-normal)}.glass-card{background:#191513eb;border:1px solid var(--border-gold);border-radius:var(--radius-lg);padding:32px 24px;width:100%;max-width:420px;position:relative;box-shadow:0 25px 50px #000c,var(--shadow-glow)}.modal-close{position:absolute;top:16px;right:18px;background:none;border:none;color:var(--text-muted);font-size:1.8rem;line-height:1;cursor:pointer;transition:color var(--transition-fast)}.modal-close:hover{color:var(--gold-primary)}.modal-title{font-family:var(--font-heading);font-size:2rem;color:var(--text-gold);text-align:center;margin-bottom:4px}.modal-sub{font-size:.88rem;color:var(--text-muted);text-align:center;margin-bottom:24px}.calendar-options{display:flex;flex-direction:column;gap:12px}.calendar-opt-btn{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-main);text-decoration:none;font-size:.95rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);width:100%}.calendar-opt-btn:hover{background:#d4af3726;border-color:var(--gold-primary);color:var(--gold-light);transform:translate(4px)}.rsvp-form{display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px;text-align:left}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-gold)}.form-group input[type=text],.form-group input[type=email]{background:#0006;border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text-main);font-size:.95rem;outline:none;transition:border-color var(--transition-fast)}.form-group input:focus{border-color:var(--gold-primary)}.radio-group{display:flex;flex-direction:column;gap:8px;margin-top:4px}.radio-btn{display:flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text-main);cursor:pointer;background:#ffffff08;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);transition:all var(--transition-fast)}.radio-btn:hover{background:#d4af371a;border-color:var(--border-gold)}.radio-btn input[type=radio]{accent-color:var(--gold-primary)}.rsvp-thankyou{text-align:center;padding:20px 0}.rsvp-thankyou .heart-icon{font-size:3rem;margin-bottom:12px}.rsvp-thankyou h4{font-family:var(--font-heading);font-size:1.8rem;color:var(--text-gold);margin-bottom:8px}.rsvp-thankyou p{color:var(--text-muted);font-size:.9rem}@media (max-width: 480px){.page-container{padding:24px 16px 40px;gap:28px}.couple-names{font-size:2.4rem}.phone-frame{max-width:310px}.info-section{grid-template-columns:1fr}.timer-num{font-size:1.8rem}}
