.ge-root{--ge-bg:#050505;--ge-bg-card:#111;--ge-gold:#d4af37;--ge-gold-light:#f3e5ab;--ge-gold-dark:#8a6e18;--ge-champagne:#f0e6d2;--ge-text-body:#aaa;--ge-font-head:"Cinzel", serif;--ge-font-body:"Cormorant Garamond", serif;font-family:var(--ge-font-body);background-color:var(--ge-bg);color:var(--ge-champagne);min-height:100vh;position:relative;overflow-x:hidden}.ge-root .ge-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.ge-root .ge-cover{z-index:10000;pointer-events:auto;justify-content:center;display:flex;position:fixed;inset:0}.ge-root .ge-cover.ge-open{pointer-events:none}.ge-root .ge-curtain-panel{border-right:2px solid var(--ge-gold-dark);z-index:2;background:linear-gradient(90deg,#000 0%,#1a1a1a 50%,#000 100%);width:50%;height:100vh;transition:transform 1.8s cubic-bezier(.77,0,.175,1);position:relative}.ge-root .ge-curtain-panel.ge-left{transform-origin:0}.ge-root .ge-curtain-panel.ge-right{transform-origin:100%;border-left:2px solid var(--ge-gold-dark);border-right:none}.ge-root .ge-curtain-panel:after{content:"";background:repeating-linear-gradient(45deg,#0000,#0000 10px,#d4af3708 10px 20px);position:absolute;inset:0}.ge-root .ge-cover.ge-open .ge-curtain-panel.ge-left{transform:translate(-100%)}.ge-root .ge-cover.ge-open .ge-curtain-panel.ge-right{transform:translate(100%)}.ge-root .ge-tassel{background:linear-gradient(to bottom, var(--ge-gold-dark), var(--ge-gold), transparent);z-index:10;cursor:pointer;flex-direction:column;align-items:center;width:4px;height:35vh;transition:transform .8s cubic-bezier(.68,-.55,.265,1.55),opacity .5s;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.ge-root .ge-tassel-knob{background:radial-gradient(circle at 30% 30%, var(--ge-gold-light), var(--ge-gold), var(--ge-gold-dark));width:24px;height:24px;box-shadow:0 0 20px var(--ge-gold-dark);border:2px solid #000;border-radius:50%;margin-top:-12px}.ge-root .ge-cover.ge-open .ge-tassel{opacity:0;pointer-events:none!important;transform:translate(-50%,-300vh)!important}.ge-root .ge-cover-content{z-index:5;text-align:center;width:80%;transition:opacity .5s .5s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ge-root .ge-cover.ge-open .ge-cover-content{opacity:0}.ge-root .ge-cover-ornament{color:var(--ge-gold);filter:drop-shadow(0 0 20px #d4af3780);margin-bottom:1rem}.ge-root .ge-cover-names{font-family:var(--ge-font-head);color:#fff;text-transform:uppercase;letter-spacing:4px;text-shadow:0 4px 10px #000c;font-size:2.5rem}.ge-root .ge-cover-sub{font-family:var(--ge-font-body);color:var(--ge-gold-light);margin-top:.5rem;font-size:1.2rem;font-style:italic}.ge-root .ge-instruction{color:#fff9;letter-spacing:2px;z-index:5;pointer-events:none;font-size:.8rem;transition:opacity .5s;animation:2s infinite geFadeInOut;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.ge-root .ge-cover.ge-open .ge-instruction{opacity:0}@keyframes geFadeInOut{0%,to{opacity:.4}50%{opacity:1}}.ge-root .ge-main{opacity:0;z-index:1;transition:opacity 1.5s 1s,transform 1.5s 1s;position:relative;transform:translateY(50px)}.ge-root .ge-main.ge-visible{opacity:1;transform:translateY(0)}.ge-root .ge-main.ge-immediate{opacity:1;transition:none;transform:none}.ge-root section{max-width:1000px;margin:0 auto;padding:6rem 1.5rem;position:relative}.ge-root .ge-art-deco{border:1px solid var(--ge-gold-dark);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ab3;padding:3rem 2rem;position:relative;box-shadow:0 10px 30px #00000080}.ge-root .ge-art-deco:before,.ge-root .ge-art-deco:after{content:"";border:2px solid var(--ge-gold);width:20px;height:20px;transition:all .5s;position:absolute}.ge-root .ge-art-deco:before{border-bottom:none;border-right:none;top:10px;left:10px}.ge-root .ge-art-deco:after{border-top:none;border-left:none;bottom:10px;right:10px}.ge-root .ge-art-deco:hover:before,.ge-root .ge-art-deco:hover:after{width:50px;height:50px}.ge-root .ge-section-title{font-family:var(--ge-font-head);color:var(--ge-gold);text-align:center;text-transform:uppercase;letter-spacing:2px;margin-bottom:3rem;font-size:2.5rem;position:relative}.ge-root .ge-section-title:after{content:"✦";color:var(--ge-text-body);margin-top:10px;font-size:1rem;display:block}.ge-root .ge-gold-text{background:linear-gradient(45deg, var(--ge-gold-dark), var(--ge-gold), var(--ge-gold-light), var(--ge-gold), var(--ge-gold-dark));-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:4s linear infinite geShine}@keyframes geShine{to{background-position:200%}}.ge-root .ge-hero{text-align:center;flex-direction:column;justify-content:center;min-height:80vh;padding-top:15vh;display:flex}.ge-root .ge-hero-big{font-family:var(--ge-font-head);color:#fff;margin-bottom:1rem;font-size:4.5rem;line-height:1.1}.ge-root .ge-hero-date{letter-spacing:4px;color:var(--ge-gold);border-top:1px solid var(--ge-gold-dark);border-bottom:1px solid var(--ge-gold-dark);margin-top:2rem;padding:10px 20px;font-size:1.2rem;display:inline-block}.ge-root .ge-couple-row{flex-wrap:wrap;justify-content:center;gap:3rem;margin-top:2rem;display:flex}.ge-root .ge-couple-item{text-align:center;flex:1;min-width:250px}.ge-root .ge-couple-frame{border:2px solid var(--ge-gold-dark);width:180px;height:220px;margin:0 auto 1.5rem;padding:5px;transition:transform .3s;position:relative}.ge-root .ge-couple-frame:hover{transform:scale(1.02)}.ge-root .ge-couple-frame:before{content:"";border:1px solid #d4af374d;position:absolute;inset:5px}.ge-root .ge-couple-img{object-fit:cover;filter:sepia(20%)contrast(1.1);width:100%;height:100%}.ge-root .ge-couple-placeholder{background:var(--ge-bg-card);width:100%;height:100%;color:var(--ge-gold-dark);font-size:.75rem;font-family:var(--ge-font-head);text-transform:uppercase;letter-spacing:1px;justify-content:center;align-items:center;display:flex}.ge-root .ge-couple-name{font-family:var(--ge-font-head);color:#fff;margin-bottom:.2rem;font-size:1.5rem}.ge-root .ge-couple-parents{color:var(--ge-text-body);font-size:.9rem}.ge-root .ge-ampersand{font-family:var(--ge-font-body);color:var(--ge-gold);text-shadow:0 0 10px #d4af374d;align-self:center;font-size:3rem;font-style:italic}.ge-root .ge-event-card{border:1px solid var(--ge-gold-dark);text-align:center;background:linear-gradient(135deg,#1a1a1a 0%,#0f0f0f 100%);margin-bottom:2rem;padding:2.5rem;transition:transform .3s,border-color .3s;position:relative;overflow:hidden}.ge-root .ge-event-card:hover{border-color:var(--ge-gold);transform:translateY(-5px)}.ge-root .ge-event-card:before{content:"";background:linear-gradient(90deg, transparent, var(--ge-gold), transparent);width:100%;height:4px;position:absolute;top:0;left:0}.ge-root .ge-event-time{font-family:var(--ge-font-head);color:var(--ge-gold);margin-bottom:.5rem;font-size:1.2rem}.ge-root .ge-event-loc{color:var(--ge-text-body);font-style:italic}.ge-root .ge-video-wrapper{border:2px solid var(--ge-gold-dark);height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.ge-root .ge-video-wrapper iframe{width:100%;height:100%;position:absolute;top:0;left:0}.ge-root .ge-gallery-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:768px){.ge-root .ge-gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.ge-root .ge-gallery-item{border:1px solid var(--ge-gold-dark);cursor:pointer;aspect-ratio:1;position:relative;overflow:hidden}.ge-root .ge-gallery-item img{object-fit:cover;filter:sepia(30%);width:100%;height:100%;transition:transform .5s}.ge-root .ge-gallery-item:hover img{filter:sepia(0%);transform:scale(1.1)}.ge-root .ge-gift-container{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.ge-root .ge-gift-card{text-align:center;border:1px solid var(--ge-gold-dark);background:#ffffff0d;flex:1;min-width:280px;padding:2rem}.ge-root .ge-gift-bank{font-family:var(--ge-font-head);color:var(--ge-gold);margin-bottom:1rem;font-size:1.5rem}.ge-root .ge-gift-account{letter-spacing:2px;margin:1rem 0;font-size:1.4rem;font-weight:700}.ge-root .ge-btn-copy{border:1px solid var(--ge-gold);color:var(--ge-gold);cursor:pointer;font-family:var(--ge-font-head);text-transform:uppercase;letter-spacing:1px;background:0 0;padding:8px 16px;font-size:.8rem;transition:all .3s}.ge-root .ge-btn-copy:hover{background:var(--ge-gold);color:#000}.ge-root .ge-rsvp-form input,.ge-root .ge-rsvp-form select{color:#fff;width:100%;font-family:var(--ge-font-body);background:0 0;border:none;border-bottom:1px solid #444;outline:none;margin-bottom:1.5rem;padding:10px 0;font-size:1.1rem;transition:border-color .3s}.ge-root .ge-rsvp-form input:focus,.ge-root .ge-rsvp-form select:focus{border-color:var(--ge-gold)}.ge-root .ge-rsvp-form option{color:#fff;background:#111}.ge-root .ge-btn-gold{background:linear-gradient(45deg, var(--ge-gold-dark), var(--ge-gold));color:#000;font-family:var(--ge-font-head);text-transform:uppercase;letter-spacing:2px;cursor:pointer;border:none;padding:12px 40px;font-weight:700;transition:filter .3s,transform .3s}.ge-root .ge-btn-gold:hover{filter:brightness(1.2);transform:scale(1.02)}.ge-root .ge-footer{text-align:center;border-top:1px solid var(--ge-gold-dark);color:var(--ge-text-body);margin-top:4rem;padding:3rem}.ge-root .ge-music-btn{border:2px solid var(--ge-gold-dark);z-index:99;cursor:pointer;background:radial-gradient(#111 60%,#333 61%,#111 62%,#333 63%,#111 100%);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;animation:4s linear infinite paused geSpin;display:flex;position:fixed;bottom:30px;right:30px;box-shadow:0 0 15px #000c}.ge-root .ge-music-btn.ge-playing{animation-play-state:running}.ge-root .ge-music-label{background:var(--ge-gold);border-radius:50%;width:15px;height:15px;position:absolute}@keyframes geSpin{to{transform:rotate(360deg)}}.ge-root .ge-wish-list{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.ge-root .ge-wish-card{border:1px solid var(--ge-gold-dark);background:#ffffff0d;padding:1.25rem}.ge-root .ge-wish-name{font-family:var(--ge-font-head);color:var(--ge-gold);margin-bottom:.5rem;font-size:.95rem}.ge-root .ge-wish-msg{color:var(--ge-text-body);font-size:.95rem;font-style:italic;line-height:1.6}.ge-root .ge-empty{text-align:center;color:var(--ge-text-body);padding:1.5rem;font-style:italic}.ge-root .ge-toast{background:var(--ge-gold);color:#000;font-family:var(--ge-font-head);letter-spacing:1px;z-index:200;opacity:0;pointer-events:none;padding:10px 24px;font-size:.85rem;transition:opacity .3s;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.ge-root .ge-toast.ge-show{opacity:1}.ge-root .ge-lightbox{z-index:1000;cursor:pointer;background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ge-root .ge-lightbox img{object-fit:contain;max-width:90vw;max-height:90vh}.ge-root .ge-lightbox-close{color:#fff;cursor:pointer;z-index:1001;background:0 0;border:none;font-size:2rem;position:absolute;top:20px;right:20px}@media (max-width:768px){.ge-root .ge-hero-big{font-size:2.5rem}.ge-root .ge-tassel{height:25vh}.ge-root .ge-gallery-grid{grid-template-columns:repeat(2,1fr)}.ge-root .ge-section-title{font-size:2rem}.ge-root section{padding:4rem 1rem}}.ge-root .ge-reveal{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.ge-root .ge-reveal.ge-visible{opacity:1;transform:translateY(0)}.ge-root .ge-stagger>*{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.ge-root .ge-stagger.ge-visible>:first-child{opacity:1;transition-delay:0s;transform:translateY(0)}.ge-root .ge-stagger.ge-visible>:nth-child(2){opacity:1;transition-delay:.15s;transform:translateY(0)}.ge-root .ge-stagger.ge-visible>:nth-child(3){opacity:1;transition-delay:.3s;transform:translateY(0)}.ge-root .ge-stagger.ge-visible>:nth-child(4){opacity:1;transition-delay:.45s;transform:translateY(0)}.ge-root .ge-stagger.ge-visible>:nth-child(5){opacity:1;transition-delay:.6s;transform:translateY(0)}.ge-root .ge-stagger.ge-visible>:nth-child(6){opacity:1;transition-delay:.75s;transform:translateY(0)}
