:root{--color-merlot: #581825;--color-merlot-rgb: 88, 24, 37;--color-merlot-light: #732233;--color-merlot-dark: #3F101A;--color-merlot-deep: #2A0910;--color-espresso: #36241E;--color-espresso-rgb: 54, 36, 30;--color-espresso-light: #4E342B;--color-espresso-muted: #6B554D;--color-espresso-dark: #221612;--color-olive: #5A6444;--color-olive-rgb: 90, 100, 68;--color-olive-light: #75825B;--color-olive-dark: #3F472F;--color-olive-subtle: #EBEFE3;--color-champagne: #DFC299;--color-champagne-rgb: 223, 194, 153;--color-champagne-light: #F5E5CE;--color-champagne-dark: #B89360;--color-champagne-gold: #C29D6D;--color-blush: #C997A0;--color-blush-rgb: 201, 151, 160;--color-blush-light: #DCAFB7;--color-blush-dark: #A9757F;--bg-primary: #FAF7F2;--bg-primary-rgb: 250, 247, 242;--bg-secondary: #F3EFE7;--bg-secondary-rgb: 243, 239, 231;--bg-card: #FFFFFF;--bg-card-rgb: 255, 255, 255;--bg-card-warm: #FCFAF6;--text-primary: #36241E;--text-secondary: #6B554D;--text-muted: #8E7A72;--text-champagne: #DFC299;--text-merlot: #581825;--text-olive: #5A6444;--font-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;--font-script: "Marck Script", "Great Vibes", cursive;--font-sans: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--border-outer-merlot: 2px solid var(--color-merlot);--border-inner-gold: 1px solid rgba(var(--color-champagne-rgb), .7);--border-delicate: rgba(var(--color-champagne-rgb), .45);--border-muted: rgba(var(--color-espresso-rgb), .14);--border-accent: rgba(var(--color-champagne-rgb), .65);--border-primary: rgba(var(--color-espresso-rgb), .22);--border-olive: rgba(var(--color-olive-rgb), .35);--gold-gradient: linear-gradient(135deg, #DFC299 0%, #F5E5CE 50%, #B89360 100%);--gold-text-gradient: linear-gradient(135deg, #B89360 0%, #DFC299 50%, #9E7947 100%);--merlot-gradient: linear-gradient(135deg, #6B1E2E 0%, #581825 60%, #3F101A 100%);--olive-gradient: linear-gradient(135deg, #6A7552 0%, #5A6444 100%);--shadow-card: 0 25px 65px -15px rgba(54, 36, 30, .12), 0 0 1px rgba(223, 194, 153, .5);--shadow-card-elevated: 0 35px 80px -15px rgba(54, 36, 30, .18), 0 0 0 1px rgba(223, 194, 153, .4);--shadow-subtle: 0 10px 30px -5px rgba(54, 36, 30, .06);--shadow-merlot-cta: 0 12px 30px -6px rgba(88, 24, 37, .45), 0 0 20px rgba(223, 194, 153, .35);--shadow-champagne-glow: 0 0 25px rgba(223, 194, 153, .55);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-tablet: 28px;--radius-full: 9999px;--color-white: #ffffff;--color-white-rgb: 255, 255, 255;--color-dark-rgb: var(--color-espresso-rgb);--color-telegram: #2AABEE;--color-telegram-rgb: 42, 171, 238;--color-telegram-hover: #229ED9;--color-error: #A32A39;--color-success: #5A6444;--color-sage-deep: var(--color-olive-dark);--color-sage-dark: var(--color-olive);--color-sage: var(--color-olive);--color-sage-mid: var(--color-olive);--color-sage-light: var(--color-olive-light);--color-sage-subtle: var(--color-olive-subtle);--color-sand: var(--color-champagne);--color-taupe: var(--color-olive);--color-taupe-dark: var(--color-olive-dark);--color-caramel: var(--color-merlot);--color-taupe-rgb: var(--color-olive-rgb);--color-caramel-rgb: var(--color-merlot-rgb);--color-sand-rgb: var(--color-champagne-rgb);--color-sage-rgb: var(--color-olive-rgb);--color-sage-deep-rgb: var(--color-olive-rgb)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.7;position:relative;overflow-x:hidden;min-height:100vh;width:100%}.paper-texture-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1;opacity:.045;background-image:radial-gradient(var(--color-espresso) .65px,transparent .65px),radial-gradient(var(--color-champagne-dark) .5px,transparent .5px);background-size:20px 20px,40px 40px;background-position:0 0,10px 10px}.font-serif{font-family:var(--font-serif);font-weight:500;letter-spacing:.02em}.font-script{font-family:var(--font-script);font-weight:400}.font-sans{font-family:var(--font-sans)}h1,h2,h3,h4,h5{color:var(--color-espresso);font-family:var(--font-serif);font-weight:500;line-height:1.25;word-break:break-word}p{color:var(--text-secondary);font-size:.98rem;font-weight:400;word-break:break-word}a{color:inherit;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1)}img,svg{max-width:100%;height:auto}.container{width:100%;max-width:900px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:3}.container-narrow{max-width:680px}.container-hero{max-width:980px;width:100%;padding:0 1.25rem}.section{padding:6rem 0;position:relative}.section-bg-secondary{background-color:var(--bg-secondary);border-top:1px solid rgba(var(--color-champagne-rgb),.35);border-bottom:1px solid rgba(var(--color-champagne-rgb),.35)}.section-header{text-align:center;max-width:640px;margin:0 auto 3.25rem}.section-subtitle{font-size:1.45rem;color:var(--color-merlot);display:block;margin-bottom:.35rem;letter-spacing:.04em}.section-title{font-size:clamp(2.1rem,5vw,2.75rem);font-family:var(--font-serif);color:var(--color-espresso);margin-bottom:.75rem;font-weight:500;letter-spacing:.02em}.section-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:.8rem auto 1.25rem;color:var(--color-champagne-dark);max-width:240px}.section-divider:before,.section-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--color-champagne),transparent)}.section-divider-ornament{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-champagne-gold)}.section-divider-ornament svg{width:22px;height:22px;stroke:var(--color-champagne-gold);fill:none}.section-description{font-size:1rem;color:var(--text-secondary);line-height:1.75}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--font-sans);font-size:.84rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.9rem 2rem;border-radius:var(--radius-full);border:1px solid transparent;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);text-decoration:none;text-align:center;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.btn-primary{background:var(--merlot-gradient);color:#faf7f2;border:1px solid rgba(var(--color-champagne-rgb),.55);box-shadow:var(--shadow-merlot-cta)}.btn-primary:hover{background:linear-gradient(135deg,#7a2436,#631b2b 60%,#4a121e);transform:translateY(-2px);box-shadow:0 16px 36px -6px #5818258c,0 0 25px #dfc29980;border-color:var(--color-champagne);color:#fff}.btn-primary:active{transform:translateY(0);box-shadow:0 8px 18px -4px #58182566}.btn-outline{background-color:#ffffffd9;border-color:rgba(var(--color-champagne-rgb),.8);color:var(--color-espresso);box-shadow:var(--shadow-subtle);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-outline:hover{border-color:var(--color-merlot);color:var(--color-merlot);background-color:#fff;transform:translateY(-2px);box-shadow:0 12px 28px -5px #36241e1a}.btn-olive{background:var(--olive-gradient);color:#fff;border:1px solid rgba(var(--color-champagne-rgb),.4);box-shadow:0 10px 24px -5px #5a644459}.btn-olive:hover{background:linear-gradient(135deg,#75825b,#626d4a);transform:translateY(-2px);box-shadow:0 14px 30px -5px #5a644473}.btn-sm{padding:.6rem 1.25rem;font-size:.78rem;letter-spacing:.08em}.btn-copied{background:var(--olive-gradient)!important;color:var(--color-white)!important;border-color:var(--color-olive)!important}.scroll-reveal{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay, 0s)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.heirloom-tablet{background-color:var(--bg-card);border-radius:var(--radius-tablet);border:2px solid var(--color-merlot);box-shadow:0 0 0 1px rgba(var(--color-champagne-rgb),.55),0 30px 75px -15px #36241e26,0 0 25px #dfc29933;padding:3rem 2.5rem;position:relative;overflow:hidden}.heirloom-tablet-inner{border:1px solid rgba(var(--color-champagne-rgb),.75);border-radius:calc(var(--radius-tablet) - 8px);padding:2.5rem 2rem;position:relative;height:100%}#petals-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.fixed-nav-bar{position:fixed;top:1.25rem;left:50%;transform:translate(-50%) translateY(-30px);z-index:1000;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .8rem;background-color:#faf7f2eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(var(--color-champagne-rgb),.75);border-radius:var(--radius-full);box-shadow:0 12px 35px -8px #36241e1f,0 0 20px #dfc29940;opacity:0;pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1);max-width:92vw;overflow-x:auto;scrollbar-width:none}.fixed-nav-bar::-webkit-scrollbar{display:none}.fixed-nav-bar.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.fixed-nav-bar .nav-link{font-family:var(--font-serif);font-size:.95rem;font-weight:500;color:var(--color-espresso);padding:.4rem .85rem;border-radius:var(--radius-full);transition:all .25s ease;white-space:nowrap;letter-spacing:.03em;position:relative}.fixed-nav-bar .nav-link:hover{color:var(--color-merlot);background-color:rgba(var(--color-merlot-rgb),.06)}.fixed-nav-bar .nav-link.active{color:#faf7f2;background:var(--merlot-gradient);box-shadow:0 4px 12px #58182559}@media(max-width:768px){.fixed-nav-bar{top:.75rem;padding:.3rem .6rem;gap:.2rem}.fixed-nav-bar .nav-link{font-size:.82rem;padding:.3rem .6rem}}@media(max-width:480px){.fixed-nav-bar{top:.5rem;padding:.25rem .45rem;gap:.15rem;max-width:95vw}.fixed-nav-bar .nav-link{font-size:.76rem;padding:.25rem .5rem}}.floating-audio-btn{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:inline-flex;align-items:center;gap:.65rem;background-color:#faf7f2f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(var(--color-champagne-rgb),.85);border-radius:var(--radius-full);padding:.6rem 1.15rem .6rem .75rem;box-shadow:0 12px 30px -5px #36241e26,0 0 15px #dfc2994d;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);color:var(--color-espresso);font-family:var(--font-sans);font-size:.78rem;font-weight:500;letter-spacing:.08em;outline:none}.floating-audio-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 36px -5px #36241e33,0 0 25px #dfc29980;border-color:var(--color-merlot);color:var(--color-merlot)}.floating-audio-btn.is-playing{background:var(--merlot-gradient);color:#faf7f2;border-color:var(--color-champagne);box-shadow:0 12px 30px -5px #58182580,0 0 20px #dfc29966}.audio-icon-wrap{width:28px;height:28px;border-radius:50%;background-color:rgba(var(--color-champagne-rgb),.25);display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.floating-audio-btn.is-playing .audio-icon-wrap{background-color:#fff3;animation:audioRotate 6s infinite linear}@keyframes audioRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.audio-equalizer{display:flex;align-items:flex-end;gap:2.5px;height:12px}.audio-equalizer span{width:2.5px;background-color:currentColor;border-radius:2px;height:4px;transition:height .2s ease}.audio-equalizer.is-playing span:nth-child(1){animation:eqBounce .8s ease-in-out infinite alternate}.audio-equalizer.is-playing span:nth-child(2){animation:eqBounce 1.1s ease-in-out .2s infinite alternate}.audio-equalizer.is-playing span:nth-child(3){animation:eqBounce .9s ease-in-out .4s infinite alternate}@keyframes eqBounce{0%{height:3px}to{height:12px}}.audio-label{text-transform:uppercase;font-size:.72rem;letter-spacing:.1em}@media(max-width:640px){.floating-audio-btn{bottom:1rem;right:1rem;padding:.45rem .85rem .45rem .6rem;font-size:.72rem;gap:.45rem;box-shadow:0 8px 20px -3px #36241e33}.audio-icon-wrap{width:24px;height:24px}.audio-label{font-size:.68rem}}@media(max-width:380px){.floating-audio-btn{bottom:.75rem;right:.75rem;padding:.4rem .75rem .4rem .5rem}}.hero-section{position:relative;min-height:100vh;min-height:100svh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.75rem 1rem 2rem;background-color:var(--bg-primary);overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 40%,transparent 60%,rgba(54,36,30,.04) 100%);z-index:1}.hero-heirloom-card{position:relative;z-index:2;width:100%;max-width:820px;margin:0 auto;background-color:#faf7f2;border-radius:28px;border:2px solid var(--color-merlot);box-shadow:0 0 0 1px rgba(var(--color-champagne-rgb),.65),0 25px 65px -15px #36241e24,0 0 30px #dfc29938;padding:11px;transition:transform .4s ease,box-shadow .4s ease}.hero-card-inner-frame{border:1px solid rgba(var(--color-champagne-rgb),.75);border-radius:20px;padding:1.6rem 2.25rem 1.85rem;text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;background:radial-gradient(ellipse at 50% 30%,#fff,#faf7f2 85%)}.hero-card-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem;margin-bottom:.85rem;padding-bottom:.75rem;border-bottom:1px solid rgba(var(--color-champagne-rgb),.35);width:100%;max-width:620px}.hero-nav-link{font-family:var(--font-serif);font-size:.98rem;font-weight:500;color:var(--color-espresso);letter-spacing:.04em;padding:.15rem .45rem;position:relative;transition:color .25s ease;white-space:nowrap}.hero-nav-link:hover{color:var(--color-merlot)}.hero-nav-link-rsvp{color:var(--color-merlot);font-weight:600}.hero-nav-sep{color:var(--color-champagne);font-size:.65rem;-webkit-user-select:none;user-select:none}.hero-monogram-container{margin:.25rem auto .65rem;position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:220px}.hero-monogram-artwork{width:100%;max-width:200px;height:auto;display:block;filter:drop-shadow(0 4px 14px rgba(223,194,153,.35));transition:transform .5s cubic-bezier(.16,1,.3,1)}.hero-monogram-artwork:hover{transform:scale(1.02)}.hero-names-wrap{margin-bottom:.4rem}.hero-names{font-family:var(--font-serif);font-size:clamp(2.3rem,4.5vw,3.2rem);font-weight:400;line-height:1.15;color:var(--color-espresso);letter-spacing:.03em;margin:0}.hero-name-groom,.hero-name-bride{display:inline-block;color:var(--color-espresso)}.hero-name-amp{font-family:var(--font-script);font-size:.9em;color:var(--color-merlot);margin:0 .15em;font-weight:400}.hero-date-block{margin-bottom:.8rem}.hero-date-text{display:block;font-family:var(--font-serif);font-size:clamp(1.3rem,2.5vw,1.55rem);font-weight:400;color:var(--color-espresso);letter-spacing:.05em;margin-bottom:.25rem}.hero-day-time-tag{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-sans);font-size:.74rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-olive);background-color:rgba(var(--color-olive-rgb),.08);padding:.25rem .85rem;border-radius:var(--radius-full);border:1px solid rgba(var(--color-olive-rgb),.2)}.hero-day-sep{color:var(--color-champagne-dark)}.hero-scripture-wrap{display:flex;flex-direction:column;align-items:center;gap:.4rem;max-width:560px;margin-bottom:.8rem}.hero-scripture-pill{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .95rem;border-radius:var(--radius-full);border:1px solid var(--color-champagne);background-color:#ffffffb3;box-shadow:0 2px 6px #dfc29933}.hero-scripture-ref{font-family:var(--font-serif);font-size:.86rem;font-weight:500;font-style:italic;color:var(--color-espresso);letter-spacing:.04em}.hero-scripture-quote{font-family:var(--font-serif);font-size:1.05rem;font-style:italic;line-height:1.42;color:var(--color-espresso-muted);margin:0;padding:0 1rem}.hero-universal-intro-box{margin-bottom:.85rem;text-align:center;max-width:520px}.hero-personalized-box{background-color:#ffffffbf;border:1px solid rgba(var(--color-champagne-rgb),.6);border-radius:16px;padding:.85rem 1.75rem;margin-bottom:.85rem;max-width:520px;width:100%;box-shadow:0 4px 15px #36241e0a}.hero-guest-greeting{font-size:1.4rem;color:var(--color-merlot);margin-bottom:.15rem}.hero-guest-names{font-size:1.4rem;font-weight:600;color:var(--color-espresso);margin-bottom:.3rem}.hero-guest-amp{color:var(--color-champagne-dark)}.hero-intro-text{font-size:.94rem;color:var(--text-secondary);line-height:1.55}.hero-intro-universal{max-width:520px;margin:0 auto;font-size:.96rem;color:var(--color-espresso-muted)}.hero-cta-wrap{margin-top:.25rem}.hero-merlot-cta{background:var(--merlot-gradient);color:#faf7f2;font-size:.84rem;font-weight:500;letter-spacing:.1em;padding:.85rem 2.5rem;border-radius:var(--radius-full);border:1px solid rgba(var(--color-champagne-rgb),.7);box-shadow:0 10px 25px -5px #58182573,0 0 25px #dfc29966;position:relative;overflow:hidden;white-space:nowrap;transition:all .35s cubic-bezier(.16,1,.3,1)}.hero-merlot-cta:hover{transform:translateY(-3px) scale(1.02);background:linear-gradient(135deg,#7a2436,#611828 60%,#45101b);box-shadow:0 18px 40px -5px #58182599,0 0 35px #dfc29999;border-color:#f5e5ce;color:#fff}.hero-merlot-cta:active{transform:translateY(0)}.hero-btn-shimmer{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.25) 50%,transparent 100%);transform:skew(-20deg);animation:heroShimmer 4.5s infinite}@keyframes heroShimmer{0%,70%{left:-100%}to{left:200%}}@media(min-width:769px)and (max-height:880px){.hero-section{padding:1rem 1rem 1.25rem}.hero-heirloom-card{padding:8px;max-width:740px;border-radius:24px}.hero-card-inner-frame{padding:1.15rem 1.75rem 1.35rem;border-radius:18px}.hero-card-nav{margin-bottom:.55rem;padding-bottom:.55rem;gap:.5rem}.hero-nav-link{font-size:.92rem;padding:.1rem .35rem}.hero-monogram-container{margin:.15rem auto .4rem;max-width:155px}.hero-monogram-artwork{max-width:150px}.hero-names-wrap{margin-bottom:.25rem}.hero-names{font-size:2.35rem}.hero-date-block{margin-bottom:.55rem}.hero-date-text{font-size:1.3rem;margin-bottom:.15rem}.hero-day-time-tag{font-size:.7rem;padding:.2rem .75rem}.hero-scripture-wrap{gap:.25rem;margin-bottom:.55rem}.hero-scripture-pill{padding:.15rem .75rem}.hero-scripture-ref{font-size:.8rem}.hero-scripture-quote{font-size:.96rem;line-height:1.35}.hero-universal-intro-box,.hero-personalized-box{margin-bottom:.65rem}.hero-guest-greeting{font-size:1.25rem;margin-bottom:.1rem}.hero-intro-text.hero-intro-universal{font-size:.88rem;line-height:1.4}.hero-cta-wrap{margin-top:.15rem}.hero-merlot-cta{padding:.72rem 2.2rem;font-size:.8rem}}@media(max-width:768px){.hero-section{padding:2rem .75rem 3.5rem;min-height:100svh;min-height:100dvh}.hero-heirloom-card{border-radius:24px;padding:10px;max-width:600px}.hero-card-inner-frame{border-radius:16px;padding:2rem 1.25rem 2.25rem}.hero-card-nav{gap:.5rem;margin-bottom:1.5rem;padding-bottom:1rem}.hero-nav-link{font-size:.92rem}.hero-monogram-artwork{max-width:240px}.hero-names{font-size:2.5rem}.hero-merlot-cta{padding:.85rem 2.2rem;font-size:.84rem;width:auto;max-width:300px}}@media(max-width:640px){.hero-section{padding:1rem .75rem 1.75rem;min-height:100svh;min-height:100dvh}.hero-heirloom-card{border-radius:22px;padding:7px;max-width:440px}.hero-card-inner-frame{border-radius:15px;padding:1.25rem 1rem 1.35rem}.hero-card-nav{display:none}.hero-monogram-container{margin:.2rem auto .45rem;max-width:150px}.hero-monogram-artwork{max-width:140px}.hero-names-wrap{margin-bottom:.35rem}.hero-names{font-size:clamp(1.85rem,5.5vw,2.35rem);line-height:1.12}.hero-date-block{margin-bottom:.65rem}.hero-date-text{font-size:1.25rem;margin-bottom:.25rem}.hero-day-time-tag{font-size:.68rem;padding:.22rem .7rem;gap:.4rem}.hero-scripture-wrap{gap:.35rem;margin-bottom:.65rem;max-width:100%}.hero-scripture-pill{padding:.2rem .75rem}.hero-scripture-ref{font-size:.78rem}.hero-scripture-quote{font-size:.88rem;line-height:1.35;padding:0 .5rem}.hero-personalized-box{padding:.75rem 1rem;margin-bottom:.75rem;border-radius:14px}.hero-guest-greeting{font-size:1.3rem;margin-bottom:.15rem}.hero-guest-names{font-size:1.3rem;margin-bottom:.25rem}.hero-intro-text{font-size:.85rem;line-height:1.45}.hero-intro-universal{margin-bottom:.75rem;padding:0 .25rem;font-size:.85rem}.hero-cta-wrap{margin-top:.25rem;width:100%;display:flex;justify-content:center}.hero-merlot-cta{padding:.75rem 1.6rem;font-size:.8rem;letter-spacing:.06em;white-space:nowrap;width:auto;max-width:100%}}@media(max-width:480px)and (max-height:720px){.hero-section{padding:.5rem .5rem 1rem}.hero-heirloom-card{border-radius:18px;padding:6px;max-width:355px}.hero-card-inner-frame{border-radius:13px;padding:.85rem .75rem 1rem}.hero-monogram-container{margin:.1rem auto .3rem;max-width:120px}.hero-monogram-artwork{max-width:110px}.hero-names{font-size:1.8rem;line-height:1.1}.hero-date-block{margin-bottom:.45rem}.hero-date-text{font-size:1.15rem;margin-bottom:.2rem}.hero-day-time-tag{font-size:.65rem;padding:.18rem .6rem}.hero-scripture-wrap{gap:.25rem;margin-bottom:.45rem}.hero-scripture-pill{padding:.15rem .65rem}.hero-scripture-ref{font-size:.74rem}.hero-scripture-quote{font-size:.82rem;line-height:1.3;padding:0 .35rem}.hero-intro-text.hero-intro-universal{margin-bottom:.55rem;font-size:.8rem;line-height:1.35}.hero-personalized-box{padding:.6rem .85rem;margin-bottom:.55rem}.hero-guest-greeting,.hero-guest-names{font-size:1.15rem}.hero-merlot-cta{padding:.65rem 1.4rem;font-size:.76rem;letter-spacing:.06em;white-space:nowrap}}.section-countdown{background-color:var(--bg-secondary);border-top:1px solid rgba(var(--color-champagne-rgb),.35);border-bottom:1px solid rgba(var(--color-champagne-rgb),.35);position:relative}.countdown-heirloom-wrapper{display:flex;align-items:center;justify-content:center;gap:1.25rem;margin:0 auto 3rem;max-width:720px}.countdown-dial-card{flex:1;max-width:140px;background-color:#fff;border:1px solid rgba(var(--color-champagne-rgb),.7);border-radius:20px;padding:1.75rem 1rem 1.25rem;text-align:center;box-shadow:0 12px 30px -8px #36241e14,0 0 15px #dfc29926;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:transform .3s ease,box-shadow .3s ease}.countdown-dial-card:before{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;border:1px solid rgba(var(--color-champagne-rgb),.35);border-radius:14px;pointer-events:none}.countdown-dial-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -8px #36241e1f,0 0 20px #dfc2994d}.countdown-digit{font-family:var(--font-serif);font-size:clamp(2.5rem,5.5vw,3.6rem);font-weight:500;line-height:1;color:var(--color-merlot);margin-bottom:.4rem;letter-spacing:.02em}.countdown-label{font-family:var(--font-sans);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--color-espresso-muted)}.countdown-colon{font-family:var(--font-serif);font-size:2.2rem;font-weight:300;color:var(--color-champagne-dark);margin-top:-1.2rem}.countdown-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem}.countdown-cal-btn{font-size:.8rem;padding:.75rem 1.6rem;border-color:rgba(var(--color-champagne-rgb),.8);background-color:#fff}.countdown-cal-btn:hover{border-color:var(--color-merlot);color:var(--color-merlot)}@media(max-width:640px){.countdown-heirloom-wrapper{gap:.5rem}.countdown-dial-card{padding:1.25rem .5rem .9rem;border-radius:14px}.countdown-dial-card:before{display:none}.countdown-digit{font-size:1.85rem}.countdown-label{font-size:.62rem;letter-spacing:.1em}.countdown-colon{font-size:1.5rem;margin:0 -.2rem}.countdown-cal-btn{width:100%;max-width:320px}}@media(max-width:380px){.countdown-heirloom-wrapper{gap:.25rem}.countdown-dial-card{padding:.85rem .25rem .65rem;border-radius:10px}.countdown-digit{font-size:1.5rem}.countdown-label{font-size:.55rem;letter-spacing:.05em}.countdown-colon{font-size:1.2rem;margin:0 -.15rem}}.section-program{background-color:var(--bg-primary);position:relative}.timeline-heirloom-flow{position:relative;max-width:800px;margin:0 auto;padding:1.5rem 0}.timeline-spine-thread{position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(180deg,transparent 0%,var(--color-champagne) 10%,var(--color-champagne-dark) 50%,var(--color-champagne) 90%,transparent 100%);transform:translate(-50%);z-index:1}.timeline-heirloom-node{position:relative;display:flex;margin-bottom:2.5rem;z-index:2;width:100%}.timeline-heirloom-node:last-child{margin-bottom:0}.node-left{justify-content:flex-start;padding-right:50%}.node-right{justify-content:flex-end;padding-left:50%}.timeline-node-seal{position:absolute;top:1.5rem;left:50%;transform:translate(-50%,-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;z-index:3}.timeline-seal-ring{position:absolute;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--color-champagne);background-color:#faf7f2;box-shadow:0 0 10px #dfc29966}.timeline-seal-core{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--merlot-gradient);box-shadow:0 0 8px #58182580}.timeline-event-card{width:90%;max-width:350px;background-color:#fff;border:1px solid rgba(var(--color-champagne-rgb),.75);border-radius:20px;padding:1.6rem 1.6rem 1.4rem;box-shadow:0 12px 30px -8px #36241e14,0 0 15px #dfc29926;position:relative;transition:transform .3s ease,box-shadow .3s ease}.node-left .timeline-event-card{margin-right:2.25rem}.node-right .timeline-event-card{margin-left:2.25rem}.timeline-event-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px -8px #36241e1f,0 0 20px #dfc29940;border-color:var(--color-champagne)}.timeline-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.timeline-time-badge{font-size:1.4rem;font-weight:600;color:var(--color-merlot);letter-spacing:.04em}.timeline-icon-wrap{width:36px;height:36px;border-radius:50%;background-color:rgba(var(--color-olive-rgb),.08);color:var(--color-olive);display:flex;align-items:center;justify-content:center}.timeline-event-title{font-size:1.25rem;font-weight:600;color:var(--color-espresso);margin-bottom:.45rem;letter-spacing:.02em}.timeline-event-desc{font-size:.92rem;color:var(--text-secondary);line-height:1.6}@media(max-width:768px){.timeline-spine-thread{left:20px;transform:none}.timeline-node-seal{left:20px;transform:translate(-50%,-50%)}.node-left,.node-right{padding-left:50px;padding-right:0;justify-content:flex-start}.node-left .timeline-event-card,.node-right .timeline-event-card{margin-left:0;margin-right:0;width:100%;max-width:100%}.timeline-event-card{padding:1.3rem 1.2rem}}.section-location{background-color:var(--bg-secondary);border-top:1px solid rgba(var(--color-champagne-rgb),.35);border-bottom:1px solid rgba(var(--color-champagne-rgb),.35);position:relative}.venue-card-wrapper{background-color:#fff;border-radius:var(--radius-tablet);border:1px solid rgba(var(--color-champagne-rgb),.75);box-shadow:0 20px 50px -15px #36241e1a,0 0 20px #dfc29933;padding:10px;overflow:hidden;max-width:840px;margin:0 auto}.venue-card-inner{border:1px solid rgba(var(--color-champagne-rgb),.45);border-radius:calc(var(--radius-tablet) - 6px);padding:2.25rem 2rem 2rem;background-color:#faf7f2}.venue-info-header{text-align:center;max-width:600px;margin:0 auto 2rem}.venue-tag{display:inline-block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--color-olive);background-color:rgba(var(--color-olive-rgb),.08);border:1px solid rgba(var(--color-olive-rgb),.2);padding:.25rem .8rem;border-radius:var(--radius-full);margin-bottom:.8rem}.venue-name{font-size:clamp(1.8rem,4vw,2.3rem);font-weight:500;color:var(--color-espresso);margin-bottom:.4rem;letter-spacing:.02em}.venue-address{font-size:1.05rem;color:var(--color-merlot);font-weight:500;margin-bottom:.6rem}.venue-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.venue-nav-buttons{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.75rem}.map-frame-wrapper{border-radius:18px;overflow:hidden;border:1px solid rgba(var(--color-champagne-rgb),.8);box-shadow:0 8px 25px #36241e14;margin-bottom:1.75rem}.map-container{height:380px;width:100%;background-color:var(--color-map-placeholder);position:relative;z-index:1}.leaflet-tile-pane{filter:sepia(.2) contrast(1.04) brightness(.97) saturate(.9)}.custom-map-pin{display:flex;align-items:center;justify-content:center}.pin-marker-body{position:relative;display:flex;align-items:center;justify-content:center}.pin-marker-body svg{filter:drop-shadow(0 4px 10px rgba(88,24,37,.4));transition:transform .2s ease}.pin-pulse{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:20px;height:8px;background-color:#58182540;border-radius:50%;z-index:-1;animation:pinPulse 2s infinite ease-in-out}@keyframes pinPulse{0%,to{transform:translate(-50%) scale(1);opacity:.5}50%{transform:translate(-50%) scale(1.6);opacity:.15}}.map-popup-card{padding:.5rem .2rem;text-align:center}.map-popup-card h4{font-size:1.15rem;color:var(--color-espresso);margin-bottom:.2rem}.map-popup-card p{font-size:.84rem;color:var(--text-secondary);margin-bottom:.6rem}.popup-route-btn{display:inline-block;font-size:.75rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:#fff;background:var(--merlot-gradient);padding:.4rem .9rem;border-radius:var(--radius-full);text-decoration:none;font-weight:500}.venue-transfer-box{display:flex;align-items:flex-start;gap:1.25rem;background-color:#fff;border:1px solid rgba(var(--color-champagne-rgb),.6);border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 4px 15px #36241e0a}.transfer-icon{width:42px;height:42px;border-radius:50%;background-color:rgba(var(--color-olive-rgb),.1);color:var(--color-olive);display:flex;align-items:center;justify-content:center;flex-shrink:0}.transfer-content h5{font-size:1.1rem;font-weight:600;color:var(--color-espresso);margin-bottom:.25rem}.venue-transfer-info{font-size:.92rem;color:var(--text-secondary);line-height:1.6}@media(max-width:640px){.venue-card-inner{padding:1.5rem 1rem}.map-container{height:280px}.venue-nav-buttons .btn{width:100%}.venue-transfer-box{flex-direction:column;gap:.75rem;align-items:center;text-align:center}}.section-dresscode{background-color:var(--bg-primary);position:relative}.dresscode-desc{max-width:640px;margin:0 auto}.palette-heirloom-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem;max-width:820px;margin:0 auto}.swatch-heirloom-card{background-color:#fff;border:1px solid rgba(var(--color-champagne-rgb),.75);border-radius:18px;padding:1.5rem .75rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.85rem;box-shadow:0 8px 20px -5px #36241e0f;transition:all .3s cubic-bezier(.16,1,.3,1)}.swatch-heirloom-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px -6px #36241e1f;border-color:var(--color-champagne)}.swatch-pillow{width:64px;height:64px;border-radius:50%;border:2.5px solid #FAF7F2;box-shadow:0 0 0 1px rgba(var(--color-champagne-rgb),.8),0 6px 14px #36241e26;display:flex;align-items:center;justify-content:center;transition:transform .25s ease}.swatch-heirloom-card:hover .swatch-pillow{transform:scale(1.05)}.swatch-card-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem}.swatch-card-name{font-size:1.05rem;font-weight:600;color:var(--color-espresso);line-height:1.2}.swatch-card-hex{font-family:var(--font-sans);font-size:.76rem;color:var(--color-espresso-muted);letter-spacing:.05em}@media(max-width:768px){.palette-heirloom-grid{grid-template-columns:repeat(2,1fr);gap:.85rem}.palette-heirloom-grid .swatch-heirloom-card:last-child{grid-column:span 2;max-width:220px;margin:0 auto;width:100%}.swatch-pillow{width:52px;height:52px}}.section-details{background-color:var(--bg-secondary);border-top:1px solid rgba(var(--color-champagne-rgb),.35);border-bottom:1px solid rgba(var(--color-champagne-rgb),.35);position:relative}.wishes-heirloom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem;max-width:820px;margin:0 auto}.wish-heirloom-card{background-color:#fff;border-radius:var(--radius-tablet);border:1px solid rgba(var(--color-champagne-rgb),.75);box-shadow:0 15px 35px -8px #36241e14,0 0 15px #dfc29926;padding:10px;transition:transform .3s ease,box-shadow .3s ease}.wish-heirloom-card:hover{transform:translateY(-4px);box-shadow:0 20px 45px -8px #36241e1f,0 0 25px #dfc29940;border-color:var(--color-champagne)}.wish-card-inner{border:1px solid rgba(var(--color-champagne-rgb),.45);border-radius:calc(var(--radius-tablet) - 6px);padding:2.25rem 1.75rem 2rem;background-color:#faf7f2;text-align:center;height:100%;display:flex;flex-direction:column;align-items:center}.wish-wax-seal{width:54px;height:54px;border-radius:50%;background:var(--merlot-gradient);border:1.5px solid var(--color-champagne);box-shadow:0 4px 14px #58182559;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;color:#faf7f2}.wish-icon-wrap{display:flex;align-items:center;justify-content:center}.wish-title{font-size:1.35rem;font-weight:600;color:var(--color-espresso);margin-bottom:.75rem;letter-spacing:.02em}.wish-text{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin:0}@media(max-width:640px){.wishes-heirloom-grid{grid-template-columns:1fr;gap:1.25rem}.wish-card-inner{padding:1.75rem 1.25rem}}.section-rsvp{background-color:var(--bg-primary);position:relative}.rsvp-deadline-badge{display:inline-flex;align-items:center;justify-content:center;padding:.45rem 1.4rem;border-radius:var(--radius-full);background-color:rgba(var(--color-merlot-rgb),.06);border:1px solid rgba(var(--color-merlot-rgb),.25);color:var(--color-merlot);font-size:.92rem;margin:0 auto}.rsvp-deadline-badge strong{font-weight:600;color:var(--color-merlot);margin-left:.25rem}.rsvp-card-wrapper{background-color:#fff;border-radius:var(--radius-tablet);border:2px solid var(--color-merlot);box-shadow:0 0 0 1px rgba(var(--color-champagne-rgb),.65),0 25px 65px -15px #36241e24,0 0 25px #dfc29933;padding:10px;max-width:680px;margin:0 auto 3rem}.rsvp-card-inner{border:1px solid rgba(var(--color-champagne-rgb),.55);border-radius:calc(var(--radius-tablet) - 6px);padding:2.5rem 2.25rem;background-color:#faf7f2}.rsvp-form{display:flex;flex-direction:column;gap:1.4rem}.form-group{display:flex;flex-direction:column;gap:.45rem}.form-label{font-family:var(--font-sans);font-size:.86rem;font-weight:600;color:var(--color-espresso);letter-spacing:.02em}.form-control{width:100%;padding:.85rem 1.15rem;font-family:var(--font-sans);font-size:.96rem;color:var(--color-espresso);background-color:#fff;border:1px solid rgba(var(--color-champagne-rgb),.8);border-radius:12px;outline:none;transition:all .25s ease;box-shadow:inset 0 2px 4px #36241e08}.form-control:focus{border-color:var(--color-merlot);box-shadow:0 0 0 3px rgba(var(--color-merlot-rgb),.15),inset 0 2px 4px #36241e08}.form-textarea{resize:vertical;min-height:70px}.rsvp-couple-connector{display:flex;align-items:center;justify-content:center;gap:1rem;margin:.2rem 0}.rsvp-couple-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--color-champagne),transparent)}.rsvp-couple-amp{font-family:var(--font-script);font-size:1.8rem;color:var(--color-merlot)}.checkbox-custom-label{display:inline-flex;align-items:center;gap:.65rem;font-size:.92rem;font-weight:500;color:var(--color-espresso);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-custom-label input[type=checkbox]{accent-color:var(--color-merlot);width:18px;height:18px;cursor:pointer}.radio-cards-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;align-items:stretch}.radio-cards-row.has-3-options{grid-template-columns:repeat(3,1fr)}.radio-card-label{cursor:pointer;display:flex;flex-direction:column;height:100%}.radio-card-label input[type=radio]{position:absolute;opacity:0;pointer-events:none}.radio-custom-card{background-color:#fff;border:1.5px solid rgba(var(--color-champagne-rgb),.75);border-radius:14px;padding:.85rem 1.1rem;display:flex;align-items:center;justify-content:center;gap:.65rem;font-size:.92rem;font-weight:500;color:var(--color-espresso);transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #36241e0a;text-align:center;min-height:52px;height:100%;box-sizing:border-box;-webkit-user-select:none;user-select:none}.radio-custom-card .radio-icon{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;background-color:rgba(var(--color-champagne-rgb),.25);color:var(--color-espresso);flex-shrink:0;transition:all .25s ease}.radio-custom-card:hover{border-color:var(--color-merlot);transform:translateY(-2px);box-shadow:0 6px 16px #36241e14}.radio-card-label input[type=radio]:checked+.radio-custom-card{background:var(--merlot-gradient);color:#faf7f2;border-color:var(--color-merlot);box-shadow:0 8px 20px -3px #58182559}.radio-card-label input[type=radio]:checked+.radio-custom-card .radio-icon{background-color:#ffffff40;color:#fff}.rsvp-couple-member-picker{background-color:rgba(var(--color-olive-rgb),.06);border:1px solid rgba(var(--color-olive-rgb),.25);border-radius:14px;padding:1rem;margin-top:.75rem}.rsvp-member-picker-title{display:block;font-size:.84rem;font-weight:600;color:var(--color-olive-dark);margin-bottom:.6rem;text-align:center}.rsvp-member-cards-row{grid-template-columns:repeat(2,1fr)}.btn-rsvp-submit{width:100%;padding:1.05rem;font-size:.92rem;letter-spacing:.12em;margin-top:.5rem}.rsvp-registered-box{text-align:center;padding:1.5rem 1rem}.registered-seal-mark{width:64px;height:64px;border-radius:50%;background:var(--merlot-gradient);border:2px solid var(--color-champagne);box-shadow:0 6px 18px #58182559;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:2rem;color:#faf7f2}.registered-status-title{font-size:1.65rem;font-weight:500;color:var(--color-espresso);margin-bottom:.5rem}.registered-guest-name{font-size:1.05rem;color:var(--color-espresso-muted);margin-bottom:1.75rem}.registered-edit-btn{margin:0 auto}.rsvp-contacts-block{text-align:center;max-width:600px;margin:0 auto}.rsvp-contacts-title{font-size:.96rem;color:var(--text-secondary);margin-bottom:1.25rem}.rsvp-contacts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:2rem}.rsvp-contact-card{background-color:#fff;border:1px solid rgba(var(--color-champagne-rgb),.7);border-radius:18px;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 6px 16px #36241e0a}.contact-name{font-size:1.35rem;font-weight:600;color:var(--color-merlot)}.contact-link{font-size:.88rem;color:var(--color-espresso);text-decoration:none;transition:color .2s ease}.contact-link:hover{color:var(--color-merlot)}.contact-link.tg{color:#2aabee;font-weight:500}.contact-link.tg:hover{color:#229ed9}.rsvp-signoff{font-size:1.75rem;color:var(--color-espresso);margin-top:1rem}.rsvp-modal-content{text-align:center;padding:2rem 1.5rem;background-color:#faf7f2;border-radius:20px}.modal-monogram-wrap{margin:0 auto 1.25rem;width:140px}.modal-monogram-img{width:100%;mix-blend-mode:multiply}.modal-title{font-size:1.75rem;color:var(--color-espresso);margin-bottom:.6rem}.modal-desc{font-size:.96rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.75rem}.modal-close-btn{margin:0 auto}@media(max-width:640px){.rsvp-card-inner{padding:1.5rem 1rem}.radio-cards-row,.radio-cards-row.has-3-options{grid-template-columns:1fr;gap:.65rem}.radio-custom-card{padding:.85rem 1.15rem;min-height:48px;justify-content:flex-start;text-align:left;font-size:.92rem}.rsvp-member-cards-row{grid-template-columns:1fr;gap:.6rem}.rsvp-contacts-grid{grid-template-columns:1fr;gap:.85rem}}.section-gallery{background-color:var(--bg-secondary);border-top:1px solid rgba(var(--color-champagne-rgb),.35);border-bottom:1px solid rgba(var(--color-champagne-rgb),.35);position:relative}.gallery-heirloom-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;max-width:900px;margin:0 auto}.gallery-heirloom-card{background-color:#fff;border-radius:18px;border:1px solid rgba(var(--color-champagne-rgb),.7);box-shadow:0 10px 25px -5px #36241e14,0 0 15px #dfc29926;padding:12px;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease;display:flex;flex-direction:column}.gallery-heirloom-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px -8px #36241e24,0 0 25px #dfc2994d;border-color:var(--color-champagne)}.gallery-card-frame{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4 / 5;background-color:#f4efe6;border:1px solid rgba(var(--color-champagne-rgb),.4)}.gallery-photo-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.gallery-heirloom-card:hover .gallery-photo-img{transform:scale(1.05)}.gallery-hover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#36241e59;opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease}.gallery-heirloom-card:hover .gallery-hover-overlay{opacity:1}.gallery-zoom-icon{width:48px;height:48px;border-radius:50%;background-color:#faf7f2e6;color:var(--color-merlot);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003}.gallery-card-caption{padding:.9rem .25rem .25rem;display:flex;flex-direction:column;gap:.2rem;text-align:center}.gallery-card-title{font-size:1.05rem;font-weight:600;color:var(--color-espresso);line-height:1.25}.gallery-card-year{font-size:.76rem;color:var(--color-olive);font-weight:500;letter-spacing:.08em}.gallery-lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#221612e0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.gallery-lightbox-card{position:relative;max-width:90vw;max-height:85vh;background-color:#faf7f2;border:2px solid var(--color-champagne);border-radius:16px;padding:12px;box-shadow:0 25px 60px #0006}.gallery-lightbox-img{max-width:100%;max-height:calc(85vh - 30px);object-fit:contain;border-radius:8px;display:block}.gallery-lightbox-close{position:absolute;top:-16px;right:-16px;width:36px;height:36px;border-radius:50%;background:var(--merlot-gradient);color:#fff;border:2px solid var(--color-champagne);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 4px 12px #0000004d}@media(max-width:768px){.gallery-heirloom-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}.wedding-heirloom-footer{background-color:#faf7f2;border-top:1px solid rgba(var(--color-champagne-rgb),.5);padding:4.5rem 1.5rem 4rem;text-align:center;position:relative}.footer-monogram-wrap{margin:0 auto 1.25rem;max-width:120px}.footer-monogram-img{width:100%;mix-blend-mode:multiply;opacity:.85}.footer-names{font-size:clamp(2rem,4.5vw,2.75rem);font-weight:500;color:var(--color-espresso);letter-spacing:.04em;margin-bottom:.4rem}.footer-names .names-amp{font-family:var(--font-script);color:var(--color-merlot)}.footer-date{font-size:.84rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--color-olive);margin-bottom:1.5rem}.footer-scripture{font-size:1.1rem;font-style:italic;color:var(--text-secondary);max-width:540px;margin:0 auto 1.75rem;line-height:1.6}.footer-scripture-ref{display:block;font-style:normal;font-size:.82rem;font-family:var(--font-sans);color:var(--color-champagne-dark);margin-top:.35rem;letter-spacing:.06em}.footer-note{font-size:1.85rem;color:var(--color-espresso);margin:0}.rsvp-form-fade-out{opacity:0!important;transform:translateY(-12px) scale(.97)!important;transition:opacity .25s ease-out,transform .25s ease-out!important}.rsvp-registered-box{animation:rsvpSuccessIn .65s cubic-bezier(.16,1,.3,1) forwards;position:relative;z-index:2}@keyframes rsvpSuccessIn{0%{opacity:0;transform:translateY(22px) scale(.96)}60%{opacity:1;transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.registered-success-card,.registered-declined-card{text-align:center}.reg-icon-wrap{width:64px;height:64px;border-radius:50%;background:rgba(var(--color-taupe-rgb),.14);color:var(--color-taupe);display:flex;align-items:center;justify-content:center;margin:0 auto .8rem;box-shadow:0 4px 16px rgba(var(--color-espresso-rgb),.15)}.reg-icon-wrap.declined{background:rgba(var(--color-caramel-rgb),.14);color:var(--color-caramel);box-shadow:0 4px 16px rgba(var(--color-caramel-rgb),.18)}.reg-status-badge{font-size:1.25rem;color:var(--color-taupe);display:block;margin-bottom:.35rem}.reg-names{font-size:1.75rem;color:var(--color-espresso);margin-bottom:.6rem;line-height:1.3}.reg-intro-text{font-size:.92rem;color:var(--color-espresso-light);line-height:1.6;max-width:440px;margin:0 auto 1.4rem}.telegram-invite-box{background:linear-gradient(135deg,rgba(var(--bg-secondary-rgb),.9),rgba(var(--bg-primary-rgb),.95));border:1.5px solid var(--border-muted);border-radius:var(--radius-md);padding:1.4rem 1.3rem;margin:1.5rem 0 1.2rem;text-align:left;position:relative;box-shadow:0 8px 24px rgba(var(--color-espresso-rgb),.05)}.tg-badge-tag{position:absolute;top:-11px;right:18px;background:var(--color-taupe);color:var(--color-white);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .65rem;border-radius:var(--radius-full);box-shadow:0 2px 8px rgba(var(--color-espresso-rgb),.2)}.tg-content-row{display:flex;align-items:center;gap:.9rem;margin-bottom:1.1rem}.tg-icon-circle{width:46px;height:46px;flex-shrink:0;background:var(--color-telegram);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(var(--color-telegram-rgb),.35)}.tg-text-block{flex:1}.tg-title{font-size:1.12rem;color:var(--color-espresso);margin-bottom:.2rem}.tg-desc{font-size:.82rem;color:var(--color-espresso-light);line-height:1.45;margin:0}.btn-telegram{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;padding:.85rem 1.2rem;background:var(--color-telegram);color:var(--color-white)!important;font-size:.88rem;font-weight:600;letter-spacing:.03em;border-radius:var(--radius-sm);box-shadow:0 4px 15px rgba(var(--color-telegram-rgb),.3);transition:var(--transition-smooth);text-decoration:none}.btn-telegram:hover{background:var(--color-telegram-hover);transform:translateY(-2px);box-shadow:0 8px 22px rgba(var(--color-telegram-rgb),.42)}.btn-telegram svg{flex-shrink:0}.reg-footer-actions{display:flex;justify-content:center;margin-top:1rem}.btn-cancel-rsvp{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.78rem;font-weight:500;color:var(--color-espresso-light);border:1px solid var(--border-delicate);border-radius:var(--radius-full);background:transparent;transition:var(--transition-smooth);cursor:pointer}.btn-cancel-rsvp:hover{background:rgba(var(--color-caramel-rgb),.12);border-color:var(--color-caramel);color:var(--color-espresso);transform:translateY(-1px)}.footer-admin-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:rgba(var(--color-dark-rgb),.4);text-decoration:none;margin-top:1.5rem;transition:color .2s ease}.footer-admin-link:hover{color:var(--color-sage-deep)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(var(--color-dark-rgb),.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-backdrop.is-open{opacity:1;pointer-events:auto}.modal-card{background:var(--bg-card);padding:2.5rem 2rem;border-radius:var(--radius-lg);max-width:480px;width:100%;text-align:center;box-shadow:var(--shadow-floating);transform:scale(.92);transition:transform .3s cubic-bezier(.16,1,.3,1);position:relative}.modal-backdrop.is-open .modal-card{transform:scale(1)}.modal-success-icon{margin-bottom:1rem}.modal-title{font-size:1.7rem;margin-bottom:.7rem}.modal-text{font-size:.94rem;line-height:1.6}.wedding-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(40px);background:var(--color-espresso);color:var(--color-white);padding:.75rem 1.5rem;border-radius:var(--radius-full);font-size:.85rem;box-shadow:var(--shadow-floating);z-index:1200;opacity:0;pointer-events:none;transition:var(--transition-smooth);white-space:nowrap}.wedding-toast.show{transform:translate(-50%) translateY(0);opacity:1}.wedding-toast.toast-error{background-color:var(--color-error)}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1100}@media(max-width:992px){.section{padding:4.5rem 0}.container{padding:0 1.25rem}}@media(max-width:768px){.section{padding:3.75rem 0}.section-header{margin-bottom:2.25rem}.section-title{font-size:2.2rem}.section-subtitle{font-size:1.3rem}.btn{padding:.8rem 1.6rem;font-size:.8rem}}@media(max-width:480px){.section{padding:2.75rem 0}.container{padding:0 .85rem}.section-title{font-size:1.75rem}.section-subtitle{font-size:1.15rem}.countdown-heirloom-wrapper{gap:.35rem}.countdown-dial-card{padding:1rem .35rem .75rem}.countdown-digit{font-size:1.6rem}.countdown-label{font-size:.58rem;letter-spacing:.08em}.countdown-colon{font-size:1.2rem}.swatch-pillow{width:46px;height:46px}.spotlight-content{padding:1rem 1.25rem}.spotlight-title{font-size:1.1rem}.venue-card-inner{padding:1.25rem .85rem}.rsvp-card-inner{padding:1.5rem 1rem}.registered-status-title{font-size:1.4rem}.wedding-heirloom-footer{padding:3.5rem 1rem 3rem}.footer-names{font-size:2rem}.footer-note{font-size:1.5rem}}
