:root{--gold: 170, 170, 170;--cream: 255, 255, 255;--bg-0: #0e1810;--bg-1: linear-gradient(160deg, #203524 0%, #16241a 100%);--bg-2: linear-gradient(160deg, #26402c 0%, #1a2b1c 100%);--font-script: "Great Vibes", cursive;--font-label: "Libre Baskerville", serif;--font-body: "Libre Baskerville", serif;--font-num: "Libre Baskerville", serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-0);height:100%;scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}body{font-family:var(--font-body);font-weight:300;color:rgb(var(--cream));-webkit-font-smoothing:antialiased}img{max-width:100%}button{font:inherit;appearance:none}a{color:inherit}input,textarea,select{background:transparent;border:none;border-bottom:1px solid rgba(var(--gold),.3);color:rgb(var(--cream));font-family:var(--font-body);font-weight:300;font-size:14px;outline:none;padding:10px 0;width:100%;transition:border-color .3s;-webkit-appearance:none}input:focus,textarea:focus{border-bottom-color:rgba(var(--gold),.7)}input::placeholder,textarea::placeholder{color:rgba(var(--cream),.28)}select option{background:var(--bg-2);color:rgb(var(--cream))}textarea{resize:none}.rv{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.rv.on{opacity:1;transform:translateY(0)}.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}.d5{transition-delay:.6s}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes waveBar{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.8)}}@keyframes imgFade{0%,27%{opacity:1}40%,to{opacity:0}}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.09)}}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.78}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen{position:fixed;inset:0;z-index:20000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-0)}.loading-spinner{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(var(--gold),.2);border-top-color:rgba(var(--gold),.85);animation:spin .9s linear infinite}.inv-shell{display:flex;background:var(--bg-1);min-height:100vh}.left-panel{display:none}.slideshow-layer{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;animation:slowZoom 17s ease-in-out infinite alternate}.slideshow-layer.active{opacity:1;z-index:1}.right-panel{width:100%;overflow-x:hidden;scrollbar-width:none}.right-panel::-webkit-scrollbar{display:none}@media (min-width: 769px){html,body{overflow:hidden;height:100vh}.inv-shell{height:100vh;overflow:hidden}.left-panel{display:flex;flex:1;flex-direction:column;position:relative;overflow:hidden;min-width:0}.right-panel{width:420px;min-width:420px;max-width:420px;margin:0;overflow-y:auto;height:100vh;scrollbar-width:none}.mobile-only{display:none!important}}.section{padding:72px 32px;text-align:center}.section-tight{padding:72px 32px 48px}.bg-0{background:var(--bg-0)}.bg-1{background:var(--bg-1)}.bg-2{background:var(--bg-2)}.verse-section,.events-section,.wishes-section,.gallery-section{position:relative;overflow:hidden}.verse-scrim,.events-scrim,.wishes-scrim{position:absolute;inset:0;background:#121c14b8}.gallery-scrim{position:absolute;inset:0;background:#121c148c}.eyebrow{font-family:var(--font-label);font-size:8px;letter-spacing:5px;color:rgba(var(--gold),.9);margin:0 0 12px;text-transform:uppercase}.section-title{font-family:var(--font-body);font-style:italic;font-weight:300;font-size:40px;color:rgb(var(--cream));margin:0}.divider-dot{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:10px}.divider-dot .line{height:.5px;width:32px;background:linear-gradient(to right,transparent,rgba(var(--gold),.45))}.divider-dot .line.right{background:linear-gradient(to left,transparent,rgba(var(--gold),.45))}.btn-gold{position:relative;border:none;color:#fff;font-family:var(--font-label);font-size:9px;letter-spacing:5px;padding:18px 44px;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#3c3c3c,#8c8c8c,#3c3c3c);width:100%;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 28px #3c3c3c47,0 1px #ffffff26 inset}.btn-gold:hover{transform:translateY(-1px);box-shadow:0 6px 34px #3c3c3c66,0 1px #ffffff26 inset}.btn-outline{display:inline-block;border:1px solid rgba(var(--gold),.5);color:rgba(var(--gold),.9);font-family:var(--font-label);font-size:8px;letter-spacing:3px;padding:10px 22px;text-decoration:none;text-transform:uppercase;background:transparent;cursor:pointer;transition:background .25s,color .25s}.btn-outline:hover{background:rgba(var(--gold),.1)}.btn-line{border:1px solid rgba(var(--gold),.42);color:#aaa;font-family:var(--font-label);font-size:9px;letter-spacing:4px;padding:15px;text-transform:uppercase;cursor:pointer;background:transparent;width:100%;transition:background .3s}.btn-line:hover{background:rgba(var(--gold),.08)}.cover{position:fixed;inset:0;z-index:10000;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s ease}.cover.cover-closing{opacity:0;overflow:hidden}.cover.hidden{display:none}.cover-bg{position:absolute;inset:0;background:linear-gradient(160deg,#0f2212,#0a1608);overflow:hidden}.cover-bg-inner{width:100%;height:100%;animation:slowZoom 14s ease-in-out infinite alternate}.cover-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,#050b0566,#050b0547 38%,#050b0573 55%,#050b05c7 80%,#050b05f2)}.cover-text-veil{position:absolute;inset:0;background:radial-gradient(ellipse farthest-corner at 50% 50%,#040904b3,#04090480 28%,#0409043d 50%,#04090400 78%);z-index:2;pointer-events:none}.cover-content{position:relative;z-index:3;text-align:center;padding:0 32px;text-shadow:0 2px 16px rgba(0,0,0,.65),0 1px 4px rgba(0,0,0,.5)}.cover-open{position:absolute;bottom:44px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:4;animation:fadeUp 1.2s 1s both}.cover-open .btn-gold{width:auto;padding:17px 52px;animation:shimmer 3s 2s ease-in-out infinite}.corner{position:absolute;z-index:2}.dear{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 36px;text-align:center;position:relative;overflow:hidden}.dear-bg{position:absolute;inset:0}.dear-bg-inner{width:100%;height:100%;animation:slowZoom 16s ease-in-out infinite alternate}.dear-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#121c148c,#121c1459 42%,#121c14cc)}@media (max-width: 768px){.dear{display:none!important}}.dear-inner{position:relative;z-index:1;max-width:290px}.hero{position:relative;height:100vh;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding-bottom:68px}.hero-media{position:absolute;inset:0;overflow:hidden}.parallax-layer{position:absolute;inset:-18% 0;will-change:transform}.hero-overlay{position:absolute;inset:0;background:#121c1440}.hero-scrim{position:absolute;inset:0;background:linear-gradient(to bottom,#121c140d,#121c141f 42%,#121c1447 68%,#121c1473 88%,#121c1494)}.hero-content{position:relative;z-index:1;text-align:center;padding:0 28px;text-shadow:0 2px 16px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.45)}.couple-section{background:var(--bg-1)}.couple-card{position:relative;height:100vh;min-height:560px;overflow:hidden}.couple-card-photo{position:absolute;inset:0}.couple-card-scrim{position:absolute;inset:0;background:linear-gradient(to top,#121c14d1,#121c146b 34%,#121c1400 60%),linear-gradient(to bottom,#121c146b,#121c1400 26%)}.couple-card-role{position:absolute;top:44px;left:28px;right:28px;font-family:var(--font-script);font-size:38px;color:rgb(var(--cream));margin:0;text-shadow:0 2px 14px rgba(0,0,0,.55)}.couple-card-info{position:absolute;left:28px;right:28px;bottom:40px;text-align:left}.couple-card-name{font-family:var(--font-body);font-weight:400;font-size:27px;color:rgb(var(--cream));margin:0 0 12px;line-height:1.25}.couple-card-suffix{font-size:14px;font-weight:300;color:rgba(var(--gold),.85);margin-left:6px}.couple-card-parents{font-size:12px;color:rgba(var(--cream),.55);line-height:1.75;margin:0 0 18px}.couple-card-ig{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-label);font-size:11px;letter-spacing:1px;color:rgb(var(--cream));text-decoration:none}.countdown{position:relative;height:480px;text-align:center}.countdown-scrim{position:absolute;inset:0;background:#121c14b8}.countdown-content{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:0 28px;animation:fadeIn 1.2s ease both}.countdown-grid{display:flex;justify-content:center;align-items:flex-start;gap:0;width:100%;max-width:360px}.countdown-unit{flex:1;text-align:center;padding:0 4px}.countdown-unit .num{font-family:var(--font-num);font-size:56px;color:rgb(var(--cream));line-height:1;display:block;letter-spacing:-2px;font-variant-numeric:tabular-nums}.countdown-unit .rule{height:.5px;background:rgba(var(--gold),.25);margin:8px 12px}.countdown-unit .lbl{font-family:var(--font-label);font-size:6px;letter-spacing:2px;color:rgba(var(--gold),.85);margin:0;text-transform:uppercase}.countdown-sep{width:.5px;background:rgba(var(--gold),.15);align-self:stretch;margin-top:8px}.event-card{border:1px solid rgba(var(--gold),.15);padding:32px 22px;margin-bottom:14px;background:rgba(var(--gold),.022)}.rsvp-section{position:relative;overflow:hidden}.rsvp-scrim{position:absolute;inset:0;background:#121c14bf}.field{margin-bottom:22px;text-align:left}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.turnstile-widget{display:flex;justify-content:center}.field>label{font-family:var(--font-label);font-size:8px;letter-spacing:3px;color:rgba(var(--gold),.85);display:block;margin-bottom:5px;text-transform:uppercase}.field-error{font-size:11px;color:#d98c7a;margin:6px 0 0;line-height:1.5;min-height:33px}input[aria-invalid=true],textarea[aria-invalid=true]{border-bottom-color:#d98c7a99}.btn-line:disabled{opacity:.5;cursor:not-allowed}.toast{position:fixed;top:20px;left:50%;z-index:10002;width:min(360px,calc(100% - 32px));display:flex;align-items:flex-start;gap:12px;padding:16px 34px 18px 16px;background:#0d1809f5;border:1px solid rgba(var(--gold),.35);box-shadow:0 16px 40px #00000073;backdrop-filter:blur(8px);overflow:hidden}.toast-in{animation:toastIn .45s cubic-bezier(.16,1,.3,1) both}.toast-out{animation:toastOut .3s ease both}.toast-icon{flex-shrink:0;line-height:0}.toast-icon svg{display:block}.toast-body{flex:1;min-width:0}.toast-title{font-family:var(--font-label);font-size:13px;color:#fff;margin:2px 0 4px}.toast-msg{font-size:11px;color:rgba(var(--cream),.5);margin:0;line-height:1.6}.toast-close{position:absolute;top:10px;right:12px;background:none;border:none;color:rgba(var(--cream),.4);font-size:16px;line-height:1;cursor:pointer;padding:4px;transition:color .2s}.toast-close:hover{color:#fff}.toast-progress{position:absolute;left:0;bottom:0;height:2px;background:rgba(var(--gold),.65);animation-name:toastProgress;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-18px) scale(.97)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(.97)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.guest-grid{display:flex;gap:10px}.guest-option{flex:1;text-align:center;padding:14px 6px;cursor:pointer;transition:all .25s;border:1px solid rgba(var(--gold),.18);background:transparent}.guest-option.active{border-color:rgba(var(--gold),.8);background:rgba(var(--gold),.12)}.guest-option .num{font-family:var(--font-num);font-size:26px;color:rgba(var(--cream),.4);line-height:1;display:block;transition:color .25s}.guest-option.active .num{color:#aaa}.guest-option .lbl{font-family:var(--font-label);font-size:6px;letter-spacing:2px;color:rgba(var(--cream),.4);margin:5px 0 0;text-transform:uppercase;opacity:.7;transition:color .25s}.guest-option.active .lbl{color:#aaa}.radio-row{display:flex;flex-direction:column;gap:10px}.radio-option{display:flex;align-items:center;gap:12px;cursor:pointer}.radio-option input{position:absolute;opacity:0;width:0;height:0}.radio-dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(var(--gold),.35);background:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.radio-dot.checked{border-color:rgba(var(--gold),.9);background:rgba(var(--gold),.85)}.radio-dot .inner{width:6px;height:6px;border-radius:50%;background:#fff;opacity:0;transition:opacity .2s}.radio-dot.checked .inner{opacity:1}.radio-option .txt{font-size:13px;color:rgba(var(--cream),.65)}.rsvp-done{padding:40px 24px;border:1px solid rgba(var(--gold),.14);background:rgba(var(--gold),.02)}.marquee-stack{display:flex;flex-direction:column;gap:14px;margin:0 -32px}.marquee-row{overflow:hidden;width:100%}.marquee-track{display:flex;width:max-content;animation-name:marqueeLeft;animation-timing-function:linear;animation-iteration-count:infinite}.marquee-track-reverse{animation-name:marqueeRight}.marquee-item{flex-shrink:0;height:240px;margin-right:10px;cursor:pointer;overflow:hidden}.marquee-item img{height:100%;width:auto;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s}.marquee-item:hover img{transform:scale(1.06);filter:brightness(1.08)}@keyframes marqueeLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marqueeRight{0%{transform:translate(-50%)}to{transform:translate(0)}}.lightbox{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:24px;background:#050b05eb;backdrop-filter:blur(6px);animation:fadeIn .3s ease both}.lightbox-img-wrap{display:flex;max-width:100%;max-height:88vh;touch-action:pan-y}.lightbox-img{max-width:100%;max-height:88vh;display:block;box-shadow:0 20px 60px #00000080;animation:lightboxIn .35s cubic-bezier(.16,1,.3,1) both}.lightbox-close{position:absolute;top:20px;right:24px;width:40px;height:40px;border:1px solid rgba(var(--gold),.35);background:rgba(var(--gold),.08);color:rgb(var(--cream));font-size:22px;line-height:1;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .25s}.lightbox-close:hover{background:rgba(var(--gold),.18);border-color:rgba(var(--gold),.7);transform:rotate(90deg)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid rgba(var(--gold),.35);background:rgba(var(--gold),.08);color:rgb(var(--cream));cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s,transform .25s;z-index:1}.lightbox-nav:hover{background:rgba(var(--gold),.18);border-color:rgba(var(--gold),.7)}.lightbox-prev{left:8px}.lightbox-prev:hover{transform:translateY(-50%) translate(-3px)}.lightbox-next{right:8px}.lightbox-next:hover{transform:translateY(-50%) translate(3px)}@keyframes lightboxIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.story-photo{width:200px;height:250px;border-radius:100px;overflow:hidden;margin:0 auto 22px;border:1px solid rgba(var(--gold),.13)}.story-divider{display:flex;align-items:center;gap:12px;margin-bottom:48px}.story-divider .line{height:.5px;flex:1;background:linear-gradient(to right,transparent,rgba(var(--gold),.18))}.story-divider .line.right{background:linear-gradient(to left,transparent,rgba(var(--gold),.18))}.story-divider .diamond{width:6px;height:6px;border:1px solid rgba(var(--gold),.32);transform:rotate(45deg)}.gift-section{position:relative;overflow:hidden}.gift-scrim{position:absolute;inset:0;background:#121c14bf}.gift-card{border:1px solid rgba(var(--gold),.13);padding:20px 18px;margin-bottom:10px;background:rgba(var(--gold),.018);display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}.gift-address{border:1px solid rgba(var(--gold),.09);padding:16px 18px;background:#ffffff03;text-align:left}.copy-btn{border:1px solid rgba(var(--gold),.45);color:rgba(var(--gold),.9);font-family:var(--font-label);font-size:7px;letter-spacing:2px;padding:8px 11px;text-transform:uppercase;cursor:pointer;background:transparent;white-space:nowrap;flex-shrink:0;transition:all .3s}.copy-btn.copied{color:rgb(var(--cream));border-color:rgba(var(--gold),.6)}.wish-list{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(var(--gold),.3) transparent}.wish-list::-webkit-scrollbar{width:5px}.wish-list::-webkit-scrollbar-thumb{background:rgba(var(--gold),.25);border-radius:3px}.wish-item{border-bottom:1px solid rgba(var(--gold),.06);padding:18px 0}.wish-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}.wish-avatar{width:36px;height:36px;border-radius:50%;background:rgba(var(--gold),.07);border:1px solid rgba(var(--gold),.16);display:flex;align-items:center;justify-content:center;flex-shrink:0}.wish-avatar span{font-family:var(--font-body);font-size:16px;color:rgba(var(--gold),.9);font-weight:400}.wish-name{font-family:var(--font-body);font-size:16px;color:rgb(var(--cream));margin:0}.wish-time{font-size:10px;color:rgba(var(--cream),.26);margin:0;letter-spacing:.3px}.wish-msg{font-size:13px;color:rgba(var(--cream),.48);line-height:1.78;margin:0 0 0 48px}.closing{position:relative;min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;text-align:center;overflow:hidden}.music-btn{position:fixed;bottom:28px;right:28px;z-index:9999;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#3c3c3c,#6e6e6e);display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;transition:opacity .5s ease,transform .15s,box-shadow .15s;box-shadow:0 6px 28px #0009;border:none}.music-btn:hover{transform:scale(1.08);box-shadow:0 8px 36px #000000b3}.music-btn.hidden{opacity:0;pointer-events:none}.wave-bars{display:flex;align-items:center;gap:2.5px}.wave-bars span{width:3px;background:#fff;border-radius:2px;animation:waveBar .65s ease-in-out infinite}.img-slot{width:100%;height:100%;display:block}.img-slot.photo{object-fit:cover}.img-slot.placeholder{background:linear-gradient(160deg,rgba(var(--gold),.09),rgba(var(--gold),.02));border:1px dashed rgba(var(--gold),.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:rgba(var(--gold),.35);text-align:center;padding:8px}.img-slot.placeholder span{font-family:var(--font-label);font-size:7px;letter-spacing:1.5px;text-transform:uppercase;line-height:1.5;max-width:90%}
