:root{--primary:#d4af37;--primary-light:#f3e5ab;--primary-dark:#aa8529;--bg:#0a0f0d;--bg2:#101815;--bg3:#16221d;--surface:#ffffff05;--border:#d4af3726;--text:#fdfdfd;--text-muted:#fff9;--font-display:"Cinzel", serif;--font-serif:"Playfair Display", serif;--font-sans:"Montserrat", sans-serif;--ease:cubic-bezier(.25, 1, .5, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;position:relative;overflow-x:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-weight:300;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--primary-dark)}.reveal,.reveal-left,.reveal-right{opacity:0;transition:opacity 1.5s var(--ease), transform 1.5s var(--ease);will-change:transform, opacity}.reveal{transform:translateY(80px)scale(.8)rotateX(10deg)}.reveal-left{transform:translate(-80px)rotate(-5deg)scale(.9)}.reveal-right{transform:translate(80px)rotate(5deg)scale(.9)}.visible{opacity:1;transform:translate(0)scale(1)rotate(0)}.section-wrap{max-width:1200px;margin:0 auto;padding:0 5%}.sec-head{text-align:center;margin-bottom:5rem}.sec-head .eyebrow{font-family:var(--font-sans);letter-spacing:4px;text-transform:uppercase;color:var(--primary);margin-bottom:1.5rem;font-size:.7rem;display:block}.sec-head h2{font-family:var(--font-display);color:var(--text);font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1.2}.gold-line{background:linear-gradient(to bottom, transparent, var(--primary), transparent);width:1px;height:60px;margin:2rem auto}.custom-cursor{border:1px solid var(--primary);pointer-events:none;z-index:99999;mix-blend-mode:difference;border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;transition:width .3s,height .3s,background .3s,border-color .3s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor-dot{background:var(--primary);pointer-events:none;z-index:99999;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor.hover{background:#d4af371a;border-color:#0000;width:60px;height:60px;margin:-30px 0 0 -30px}.touch-spotlight{pointer-events:none;z-index:9998;opacity:0;transition:opacity .5s;position:fixed;inset:0}@media (max-width:768px){.touch-spotlight{opacity:1}}.ambient-particles{pointer-events:none;z-index:1;position:fixed;inset:0;overflow:hidden}.petal{background:var(--primary-light);filter:blur(1px);border-radius:150% 0;width:15px;height:15px;animation:linear infinite fall;position:absolute}@keyframes fall{0%{transform:translateY(-10vh)rotate(0)translate(0)}to{transform:translateY(110vh)rotate(720deg)translate(100px)}}.sparkle{background:var(--primary);box-shadow:0 0 10px var(--primary), 0 0 20px var(--primary);border-radius:50%;animation:linear infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}0%{transform:translateY(0)}to{transform:translateY(-100vh)}}h1,h2{letter-spacing:.1em}.hero-names{letter-spacing:-.02em}.sec-head h2{letter-spacing:.15em;text-transform:uppercase;font-weight:500}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mobile-tab-bar{z-index:2000;width:90%;max-width:400px;transition:transform .6s cubic-bezier(.25,1,.5,1);display:none;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,100px)}.mobile-tab-bar.visible{transform:translate(-50%)}.tab-bar-inner{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0f0db3;border:1px solid #d4af3733;border-radius:25px;justify-content:space-around;align-items:center;padding:.5rem;display:flex;box-shadow:0 10px 40px #00000080,0 0 20px #d4af370d}.tab-item{color:var(--text-muted);transition:all .3s var(--ease);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;padding:.5rem 1rem;display:flex;position:relative}.tab-item.active{color:var(--primary);transform:translateY(-5px)}.tab-icon{margin-bottom:2px;font-size:1.2rem}.tab-label{font-family:var(--font-sans);letter-spacing:1px;text-transform:uppercase;font-size:.6rem}.tab-sliding-indicator{background:var(--primary);width:6px;height:6px;box-shadow:0 0 15px var(--primary), 0 0 30px var(--primary);pointer-events:none;border-radius:50%;transition:left .4s cubic-bezier(.25,1,.5,1);position:absolute;bottom:8px}@media (max-width:768px){.mobile-tab-bar{display:block}.music-control{bottom:6rem;right:1rem}}.music-control{z-index:1000;position:fixed;bottom:2rem;right:2rem}.music-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);cursor:pointer;transition:all .3s var(--ease);color:var(--primary);background:#0a0f0d99;border-radius:50px;align-items:center;gap:1rem;padding:.8rem 1.5rem;display:flex}.music-btn:hover{border-color:var(--primary);background:#d4af371a}.music-icon-wrap{align-items:flex-end;gap:3px;height:15px;display:flex}.bar{background:var(--primary);border-radius:2px;width:2px;height:100%;transition:transform .3s}.music-btn.playing .bar{animation:1s ease-in-out infinite alternate musicBars}.bar:nth-child(2){height:60%;animation-delay:.2s}.bar:nth-child(3){height:80%;animation-delay:.4s}.bar:nth-child(4){height:40%;animation-delay:.1s}@keyframes musicBars{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.music-text{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;font-size:.6rem;font-weight:500}#nextjs-portal,[data-nextjs-toast-wrapper],[data-nextjs-indicator],[data-nextjs-static-indicator],[data-nextjs-indicator-wrapper],div[portal-container]{visibility:hidden!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;display:none!important}
.navbar{z-index:2000;background:0 0;border:1px solid #0000;border-radius:100px;justify-content:space-between;align-items:center;width:90%;max-width:700px;padding:.8rem 2rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)}.navbar.scrolled{background:var(--bg2);border:1px solid var(--border);padding:.6rem 2rem;box-shadow:0 12px 40px #0009}.navBrand{font-family:var(--font-display);color:var(--primary);letter-spacing:2px;font-size:1.5rem;font-weight:500}.navLinks{gap:3rem;list-style:none;display:flex}.navLinks a{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);flex-direction:column;align-items:center;font-size:.55rem;transition:all .3s;display:flex;position:relative}.navLinks a:hover{color:var(--text)}.navLinks a.active{color:var(--primary);font-weight:600}.navLinks a.active:before{content:"";background:var(--primary);width:36px;height:4px;box-shadow:0 0 10px var(--primary), 0 0 20px var(--primary);z-index:10;border-radius:4px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.navLinks a.active:after{content:"";pointer-events:none;z-index:-1;mix-blend-mode:screen;background:radial-gradient(at top,#d4af37b3 0%,#d4af3733 40%,#0000 80%);width:90px;height:60px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.hero{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg-layer{z-index:0;opacity:.25;mix-blend-mode:luminosity;will-change:transform;background:url(/images/hero.png) 50%/cover;position:absolute;inset:-6%}.hero-corners-layer{pointer-events:none;z-index:1;will-change:transform;position:absolute;inset:0}.hero-corner{opacity:.3;width:220px;color:var(--primary);pointer-events:none;letter-spacing:5px;font-size:.8rem;line-height:1;position:absolute}.hero-corner.tl{top:80px;left:60px}.hero-corner.tr{text-align:right;top:80px;right:60px;transform:scaleX(-1)}.hero-corner.bl{bottom:80px;left:60px;transform:scaleY(-1)}.hero-corner.br{text-align:right;bottom:80px;right:60px;transform:scale(-1)}.hero-ring-wrap{pointer-events:none;z-index:1;justify-content:center;align-items:center;width:320px;height:320px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-ring-3d{width:200px;height:200px;transform-style:preserve-3d;will-change:transform;animation:8s ease-in-out infinite ringFloat;position:relative;transform:rotateY(20deg)rotateX(-10deg)}@keyframes ringFloat{0%,to{transform:rotateY(20deg)rotateX(-10deg)translateY(0)}50%{transform:rotateY(20deg)rotateX(-10deg)translateY(-18px)}}.ring-face{border:1px solid #d4af3726;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 30px #d4af370f,inset 0 0 20px #d4af370a}.ring-front{transform:translateZ(100px)}.ring-back{transform:translateZ(-100px)rotateY(180deg)}.ring-left{transform:translate(-100px)rotateY(-90deg)}.ring-right{transform:translate(100px)rotateY(90deg)}.ring-top{transform:translateY(-100px)rotateX(90deg)}.ring-bottom{transform:translateY(100px)rotateX(-90deg)}.ring-inner{border:1px solid #d4af3759;border-radius:50%;animation:18s linear infinite ringSpinY;position:absolute;inset:20px;box-shadow:0 0 40px #d4af371f,inset 0 0 30px #d4af370f}.ring-inner-2{border-color:#d4af3733;animation:12s linear infinite ringSpinX;inset:40px}@keyframes ringSpinY{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes ringSpinX{0%{transform:rotateX(0)rotate(45deg)}to{transform:rotateX(360deg)rotate(45deg)}}.hero-content{z-index:2;text-align:center;will-change:transform;padding:6rem 2rem 2rem;position:relative}.hero-eyebrow{font-family:var(--font-sans);letter-spacing:8px;text-transform:uppercase;color:var(--primary);margin-bottom:2rem;font-size:.6rem;display:block}.hero-names{font-family:var(--font-serif);background:linear-gradient(135deg, #f5e6b3 0%, var(--primary) 25%, #fff 50%, var(--primary) 75%, #c9a84c 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 10px 40px #c9a84c40);background-size:200%;-webkit-background-clip:text;background-clip:text;margin-bottom:0;font-size:clamp(4.5rem,12vw,9rem);font-weight:400;line-height:.85;animation:6s linear infinite shimmer}@keyframes shimmer{to{background-position:200%}}.hero-amp{font-family:var(--font-serif);color:var(--primary-light);opacity:.8;margin:-.5rem 0;font-size:clamp(2.5rem,6vw,4.5rem);font-style:italic;display:block}.hero-date{font-family:var(--font-serif);color:var(--text-muted);letter-spacing:1px;margin:3rem 0;font-size:1.2rem;font-style:italic}.hero-date span{color:var(--primary);margin:0 10px;font-style:normal}.hero-btn{border:1px solid var(--primary-dark);font-family:var(--font-sans);letter-spacing:4px;text-transform:uppercase;color:var(--primary);cursor:pointer;background:0 0;padding:1.2rem 4rem;font-size:.65rem;transition:all .4s;display:inline-block;position:relative;overflow:hidden}.hero-btn:before{content:"";background:linear-gradient(90deg,#0000 0%,#d4af3714 50%,#0000 100%);transition:transform .6s;position:absolute;inset:0;transform:translate(-100%)}.hero-btn:hover:before{transform:translate(100%)}.hero-btn:hover{border-color:var(--primary);background:#d4af370d;box-shadow:0 0 20px #d4af3726,0 0 60px #d4af370d}.hero-scroll{color:var(--text-muted);font-family:var(--font-sans);letter-spacing:4px;text-transform:uppercase;z-index:3;flex-direction:column;align-items:center;gap:1rem;font-size:.55rem;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%)}.hero-scroll-line{background:linear-gradient(to bottom, var(--primary), transparent);width:1px;height:60px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.4;transform:scaleY(.6)}}.floating-orbs{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.orb{background:radial-gradient(circle, var(--primary-light) 0%, transparent 70%);opacity:.15;filter:blur(20px);border-radius:50%;animation:20s ease-in-out infinite alternate orbFloat;position:absolute}.orb-1{width:300px;height:300px;animation-duration:25s;top:10%;left:-10%}.orb-2{width:400px;height:400px;animation-duration:30s;animation-delay:-5s;bottom:10%;right:-10%}.orb-3{width:250px;height:250px;animation-duration:22s;animation-delay:-12s;top:40%;right:15%}@keyframes orbFloat{0%{transform:translate(0)scale(1)}to{transform:translate(100px,50px)scale(1.2)}}.tilt-wrap{transform-style:preserve-3d;border-radius:inherit;position:relative}.tilt-glare{border-radius:inherit;opacity:0;pointer-events:none;z-index:2;transition:opacity .3s;position:absolute;inset:0}.welcome-section{background:var(--bg);text-align:center;box-sizing:border-box;max-width:800px;margin:0 auto;padding:8rem 2rem 4rem}.welcome-divider{width:100%;max-width:300px;color:var(--primary);margin:0 auto}.welcome-text{font-family:var(--font-serif);color:var(--text-muted);margin:3rem 0;font-size:1.35rem;font-style:italic;font-weight:300;line-height:2}.story-section{background:var(--bg2);border-bottom:1px solid var(--border);padding:10rem 0}.story-container{max-width:900px;margin:0 auto;padding:2rem 5%;position:relative}.story-container:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.story-item{grid-template-columns:1fr 60px 1fr;align-items:center;gap:2rem;margin-bottom:6rem;display:grid}.story-item.right{direction:rtl}.story-item.right>*{direction:ltr}.story-content{text-align:right}.story-item.right .story-content{text-align:left}.story-year{font-family:var(--font-display);color:var(--primary);margin-bottom:.5rem;font-size:2rem;line-height:1}.story-title{font-family:var(--font-serif);color:var(--text);margin-bottom:1rem;font-size:1.5rem;font-weight:400}.story-desc{color:var(--text-muted);font-size:.95rem;line-height:1.8}.story-center{z-index:2;justify-content:center;display:flex;position:relative}.story-dot{background:var(--primary);width:12px;height:12px;box-shadow:0 0 15px var(--primary);border-radius:50%}.story-image-wrap{justify-content:flex-start;display:flex}.story-item.right .story-image-wrap{justify-content:flex-end}.story-image-arch{aspect-ratio:3/4;border:1px solid var(--border);border-radius:150px 150px 0 0;width:100%;max-width:300px;padding:8px;overflow:hidden}.story-image-arch img{object-fit:cover;border-radius:142px 142px 0 0;width:100%;height:100%}.details-section{background:var(--bg);border-bottom:1px solid var(--border);padding:10rem 0}.details-grid{grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1100px;margin:0 auto;padding:0 5%;display:grid}.detail-card{text-align:center;-webkit-backdrop-filter:blur(25px)saturate(150%);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;padding:3rem 2rem;transition:transform .4s,border-color .4s,box-shadow .4s;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff14}.detail-card:hover{border-color:var(--primary);transform:translateY(-10px)}.detail-icon{color:var(--primary);margin-bottom:1.5rem;font-size:2rem}.detail-title{font-family:var(--font-serif);color:var(--text);margin-bottom:1rem;font-size:1.5rem;font-weight:400}.detail-desc{color:var(--text-muted);font-size:.9rem;font-weight:300;line-height:1.8}.couple-section{background:var(--bg2);border-bottom:1px solid var(--border);padding:10rem 0}.couple-grid{grid-template-columns:1fr 100px 1fr;align-items:center;gap:4rem;max-width:1000px;margin:0 auto;padding:0;display:grid}.couple-card{text-align:center}.couple-img-wrap{border:1px solid var(--primary-dark);border-radius:50%;width:160px;height:160px;margin:0 auto 2rem;padding:6px}.couple-img-inner{background:var(--bg);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.couple-portrait{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease)}.couple-card:hover .couple-portrait{transform:scale(1.1)}.couple-role{font-family:var(--font-sans);letter-spacing:4px;text-transform:uppercase;color:var(--primary-dark);margin-bottom:1rem;font-size:.6rem}.couple-name{font-family:var(--font-serif);color:var(--text);margin-bottom:1rem;font-size:2.5rem;font-weight:400}.couple-desc{color:var(--text-muted);font-size:.95rem;font-weight:300;line-height:2}.couple-divider{flex-direction:column;align-items:center;gap:1rem;display:flex}.couple-divider-line{background:linear-gradient(to bottom, transparent, var(--primary), transparent);width:1px;height:80px}.couple-heart{color:var(--primary);font-size:1.5rem;font-family:var(--font-display)}.countdown-section{background:var(--bg);text-align:center;border-bottom:1px solid var(--border);padding:10rem 0}.countdown-title{font-family:var(--font-display);color:var(--text);letter-spacing:.1em;margin-bottom:1rem;font-size:2.5rem;font-weight:400}.countdown-sub{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:5rem;font-size:.7rem}.countdown-grid{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.count-unit-tilt{border-radius:15px}.count-unit{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff05;border:1px solid #ffffff0d;border-radius:15px;min-width:140px;padding:2.5rem 1.5rem;box-shadow:0 10px 30px #0000004d}.count-num{font-family:var(--font-serif);color:var(--primary);text-shadow:0 0 20px #d4af3733;font-size:4rem;font-weight:400;line-height:1;display:block}.count-label{font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);margin-top:1.5rem;font-size:.6rem;display:block}.events-section{background:var(--bg2);border-bottom:1px solid var(--border);padding:10rem 0}.timeline{max-width:900px;margin:0 auto;position:relative}.timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.t-item{grid-template-columns:1fr 80px 1fr;align-items:center;gap:3rem;margin-bottom:5rem;display:grid}.t-dot{background:var(--bg);border:1px solid var(--primary);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto;font-size:1rem;display:flex;position:relative}.t-card{-webkit-backdrop-filter:blur(20px)saturate(150%);background:#ffffff08;border:1px solid #ffffff1a;border-radius:20px;padding:2.5rem;transition:border-color .4s;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff0d}.t-card:hover{border-color:var(--border)}.t-time{font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:var(--primary);margin-bottom:1rem;font-size:.6rem}.t-title{font-family:var(--font-serif);color:var(--text);margin-bottom:.5rem;font-size:1.5rem;font-weight:400}.t-loc{color:var(--text-muted);letter-spacing:1px;margin-bottom:1rem;font-size:.85rem}.t-desc{color:var(--text-muted);font-size:.95rem;line-height:1.8}.gallery-section{background:var(--bg);border-bottom:1px solid var(--border);padding:10rem 0}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:15px;max-width:1200px;margin:0 auto;display:grid}.g-item{background:var(--bg2);cursor:pointer;aspect-ratio:4/5;border-radius:8px;position:relative;overflow:hidden}.g-inner{width:100%;height:100%;overflow:hidden}.gallery-img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.g-item:hover .gallery-img{transform:scale(1.1)}.g-caption{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--primary);opacity:0;background:linear-gradient(#0000 50%,#0a0f0de6 100%);justify-content:center;align-items:flex-end;padding-bottom:2rem;font-size:.7rem;transition:opacity .4s;display:flex;position:absolute;inset:0}.g-item:hover .g-caption{opacity:1}.caption-text{border-bottom:1px solid var(--primary);padding-bottom:4px}.gallery-stack-wrapper{text-align:center;margin:4rem auto}.gallery-stack{perspective:1000px;cursor:pointer;width:100%;max-width:320px;height:450px;margin:0 auto;position:relative}.stack-card{background:var(--bg2);border:1px solid #d4af374d;border-radius:20px;transition:all .6s cubic-bezier(.23,1,.32,1);position:absolute;inset:0;overflow:hidden;box-shadow:0 20px 40px #00000080}.stack-card img{object-fit:cover;width:100%;height:100%}.stack-card.exit{opacity:0!important;transform:translate(-150%)rotate(-20deg)scale(.8)!important}.stack-caption{color:var(--primary);font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;background:linear-gradient(#0000 0%,#0a0f0df2 100%);padding:2rem 1rem 1.5rem;font-size:.7rem;position:absolute;bottom:0;left:0;right:0}.stack-hint{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:2rem;font-size:.6rem;animation:2s ease-in-out infinite fadeInOut}@keyframes fadeInOut{0%,to{opacity:.4}50%{opacity:1}}.venue-section{background:var(--bg2);border-bottom:1px solid var(--border);padding:10rem 0}.venue-card{border:1px solid var(--border);grid-template-columns:1fr 1fr;max-width:1000px;margin:0 auto;display:grid}.venue-visual{background:var(--bg);border-right:1px solid var(--border);opacity:.5;justify-content:center;align-items:center;font-size:4rem;display:flex}.venue-info{-webkit-backdrop-filter:blur(20px)saturate(150%);background:#ffffff08;border-radius:0 20px 20px 0;padding:4rem;box-shadow:inset 0 1px #ffffff0d}.venue-name{font-family:var(--font-serif);color:var(--text);margin-bottom:2rem;font-size:2rem;font-weight:400}.venue-row{color:var(--text-muted);align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6;display:flex}.venue-btn{border:1px solid var(--primary-dark);font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:var(--primary);cursor:pointer;background:0 0;margin-top:2rem;padding:1rem 3rem;font-size:.6rem;transition:all .4s;display:inline-block}.venue-btn:hover{border-color:var(--primary);background:#d4af370d}.rsvp-section{background:var(--bg);padding:10rem 0;position:relative}.rsvp-inner{-webkit-backdrop-filter:blur(20px)saturate(150%);background:#ffffff08;border:1px solid #ffffff1a;border-radius:20px;max-width:600px;margin:0 auto;padding:4rem;box-shadow:0 10px 40px #0006,inset 0 1px #ffffff0d}.form-group{margin-bottom:2rem}.form-group label{font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);margin-bottom:1rem;font-size:.6rem;display:block}.form-group input,.form-group select,.form-group textarea{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;color:var(--text);font-family:var(--font-sans);-webkit-appearance:none;background:#ffffff05;border:1px solid #ffffff1a;border-radius:0;outline:none;padding:1rem;font-size:.9rem;font-weight:300;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.form-group select option{background:var(--bg2)}.submit-btn{border:1px solid var(--primary);width:100%;color:var(--primary);font-family:var(--font-sans);letter-spacing:4px;text-transform:uppercase;cursor:pointer;background:0 0;padding:1.2rem;font-size:.65rem;transition:all .4s}.submit-btn:hover{background:#d4af370d}.success-msg{text-align:center}.success-msg h3{font-family:var(--font-serif);color:var(--primary);margin-bottom:1rem;font-size:2.5rem;font-weight:400}.success-msg p{color:var(--text-muted);font-weight:300}.footer{background:var(--bg2);text-align:center;border-top:1px solid var(--border);padding:6rem 2rem}.footer-brand{font-family:var(--font-display);color:var(--primary);letter-spacing:4px;font-size:2rem;font-weight:400}.footer-date{font-family:var(--font-sans);color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin:2rem 0;font-size:.8rem}.footer-copy{font-family:var(--font-sans);letter-spacing:2px;color:#ffffff4d;text-transform:uppercase;font-size:.6rem}.theme-switcher{z-index:2000;position:fixed;bottom:2rem;right:2rem}.door-seal:hover{transform:scale(1.1);box-shadow:0 15px 40px #0009,0 0 60px #c9a84c99}@keyframes sealPulse{0%,to{transform:scale(1);box-shadow:0 0 40px #c9a84c66}50%{transform:scale(1.03);box-shadow:0 0 80px #c9a84c99}}.theme-toggle{background:var(--bg2);border:1px solid var(--border);width:45px;height:45px;color:var(--primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .3s;display:flex}.theme-toggle:hover{border-color:var(--primary)}.theme-panel{background:var(--bg2);border:1px solid var(--border);min-width:200px;padding:1.5rem;position:absolute;bottom:60px;right:0}.theme-panel h4{font-family:var(--font-sans);letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem;font-size:.6rem}.preset-btn{cursor:pointer;width:100%;color:var(--text-muted);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:1px;background:0 0;border:none;align-items:center;gap:1rem;padding:.5rem 0;font-size:.75rem;transition:color .3s;display:flex}.preset-btn:hover{color:var(--text)}.preset-btn.active{color:var(--primary)}.preset-swatch{border-radius:50%;width:12px;height:12px}.hamburger{cursor:pointer;z-index:2001;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:26px;height:18px;padding:0;display:none}.hamburger span{background:var(--primary);transform-origin:50%;border-radius:2px;width:100%;height:2px;transition:transform .4s,opacity .4s,width .3s;display:block}.hamburger.open span:first-child{transform:translateY(8px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.mobile-drawer{z-index:1990;-webkit-backdrop-filter:blur(20px);opacity:0;pointer-events:none;background:#0a0f0df7;flex-direction:column;justify-content:center;align-items:center;transition:opacity .4s;display:none;position:fixed;inset:0}.mobile-drawer.open{opacity:1;pointer-events:auto}.mobile-nav-links{flex-direction:column;align-items:center;gap:2.5rem;padding:0;list-style:none;display:flex}.mobile-nav-links a{font-family:var(--font-display);letter-spacing:6px;text-transform:uppercase;color:var(--text-muted);font-size:1.6rem;transition:color .3s}.mobile-nav-links a:hover,.mobile-nav-links a.active{color:var(--primary)}.drawer-backdrop{z-index:1980;background:#00000080;position:fixed;inset:0}#hero,#story,#details,#couple,#countdown,#events,#gallery,#venue,#rsvp{scroll-margin-top:90px}@media (max-width:900px){.details-grid{grid-template-columns:repeat(2,1fr);gap:2rem}.couple-grid{grid-template-columns:1fr 60px 1fr;gap:2rem}.story-container,.section-wrap{padding:0 4%}.timeline{padding:0}}@media (max-width:768px){.navbar{border-radius:50px;width:92%;padding:.9rem 1.4rem}.navLinks{display:none}.hamburger,.mobile-drawer{display:flex}.section-wrap{padding:0 5%}.welcome-section{max-width:100%;padding:5rem 5% 3rem}.story-section,.details-section,.couple-section,.countdown-section,.events-section,.gallery-section,.venue-section,.rsvp-section{padding:5rem 0 4rem}.footer{padding:4rem 5%}.sec-head{margin-bottom:3rem;padding:0 5%}.sec-head h2{font-size:clamp(1.6rem,7vw,2.5rem)}.section-wrap .sec-head{padding:0}.hero-content{padding:5rem 5% 2rem}.hero-corners-layer,.hero-ring-wrap{display:none}.hero-date{margin:1.8rem 0;font-size:.95rem}.hero-btn{padding:1rem 2.5rem;font-size:.6rem}.hero-scroll{bottom:1.5rem}.welcome-text{font-size:1.05rem}.story-container{padding:0 5%}.story-container:before{left:calc(5% + 20px);transform:none}.story-item{text-align:left;grid-template-rows:auto;grid-template-columns:40px 1fr;gap:.5rem 1.5rem;margin-bottom:3rem;display:grid;direction:ltr!important}.story-center{grid-area:1/1;justify-content:flex-start;align-items:flex-start;padding-top:4px}.story-dot{width:12px;height:12px}.story-content{grid-area:1/2;text-align:left!important}.story-item.right .story-content{text-align:left!important}.story-image-wrap,.story-item.right .story-image-wrap{display:none}.story-year{font-size:1.4rem}.story-title{font-size:1.2rem}.details-grid{grid-template-columns:1fr;gap:1.2rem}.detail-card{padding:2rem 1.5rem}.couple-grid{grid-template-columns:1fr;gap:0;max-width:100%}.couple-divider{flex-direction:row;padding:1.5rem 0}.couple-divider-line{background:linear-gradient(to right, transparent, var(--primary), transparent);width:60px;height:1px}.couple-desc{font-size:.88rem}.countdown-grid{flex-wrap:nowrap;justify-content:center;gap:.5rem;padding:0 10px}.countdown-grid>div{width:23%}.count-unit{width:100%;min-width:0;padding:1.2rem .5rem}.count-num{font-size:1.8rem}.count-label{letter-spacing:1px;margin-top:.5rem;font-size:.5rem}.timeline{padding:0}.timeline:before{left:21px;transform:none}.t-item{grid-template-columns:42px 1fr;align-items:start;gap:.8rem 1.2rem;margin-bottom:2.5rem;display:grid}.t-empty{display:none!important}.t-dot{order:unset;grid-area:1/1;width:38px;height:38px;margin:0;font-size:1rem}.t-card{order:unset;grid-area:1/2;padding:1.5rem}.t-card.reveal-left,.t-card.reveal-right{transform:translateY(20px)}.t-card.reveal-left.visible,.t-card.reveal-right.visible{transform:none}.gallery-grid{grid-template-columns:1fr 1fr}.venue-card{grid-template-columns:1fr;max-width:100%;margin:0}.venue-visual{border-right:none;border-bottom:1px solid var(--border);border-radius:20px 20px 0 0;min-height:140px}.venue-info{border-radius:0 0 20px 20px;padding:2rem 1.5rem}.venue-name{margin-bottom:1.5rem;font-size:1.4rem}.venue-row{gap:1rem;font-size:.85rem}.rsvp-inner{margin:0 auto;padding:2rem 1.2rem}.theme-switcher{bottom:1rem;right:1rem}.theme-panel{min-width:170px;right:0}}@media (max-width:480px){.navbar{width:94%;padding:.75rem 1rem}.navBrand{font-size:1.2rem}.hero-names{font-size:clamp(3rem,15vw,4.5rem)}.hero-btn{letter-spacing:2px;padding:.9rem 2rem}.gallery-grid{grid-template-columns:1fr}.mobile-nav-links a{letter-spacing:4px;font-size:1.2rem}.rsvp-inner{padding:1.5rem 1rem}.couple-img-wrap{width:120px;height:120px}.couple-name{font-size:1.8rem}.couple-desc{font-size:.85rem}.detail-card{padding:1.5rem 1rem}.t-card{padding:1.2rem}.t-title{font-size:1.1rem}.venue-info{padding:1.5rem 1rem}.story-year{font-size:1.2rem}.story-title{font-size:1.05rem}.story-desc{font-size:.85rem}.welcome-section{padding:4.5rem 5% 2.5rem}.welcome-text{font-size:.95rem;line-height:1.8}.footer-brand{font-size:1.5rem}}.envelope-overlay{z-index:9999;pointer-events:none;display:flex;position:fixed;inset:0}.envelope-door{pointer-events:auto;background:#13241b;width:50%;height:100%;transition:transform 1.5s cubic-bezier(.77,0,.175,1);position:relative;overflow:hidden}.envelope-door.left{transform-origin:0}.envelope-door.right{transform-origin:100%}.door-bg{background:linear-gradient(#13241b 0%,#1a3326 50%,#13241b 100%);position:absolute;inset:0}.door-edge{background:#c9a84c80;width:1px;position:absolute;top:0;bottom:0}.door-edge.right-edge{right:0}.door-edge.left-edge{left:0}.door-ornament{color:#c9a84c80;width:40px;height:100px;position:absolute}.door-ornament.top-left{top:10%;right:0}.door-ornament.bottom-left{bottom:10%;right:0}.door-ornament.top-right{top:10%;left:0}.door-ornament.bottom-right{bottom:10%;left:0}.envelope-overlay.opened .envelope-door.left{transform:translate(-100%)}.envelope-overlay.opened .envelope-door.right{transform:translate(100%)}.open-button-wrapper{z-index:10000;pointer-events:auto;transition:opacity .8s,transform .8s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-overlay.opened .open-button-wrapper{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.5)}.door-seal{cursor:pointer;width:140px;height:140px;transition:all .5s var(--ease);z-index:10;background:radial-gradient(circle at 30% 30%,#264232 0%,#13241b 100%);border:4px solid #c9a84c;border-radius:50%;justify-content:center;align-items:center;animation:3s ease-in-out infinite sealPulse;display:flex;position:relative;box-shadow:0 10px 40px #0009,0 0 40px #c9a84c66}.door-seal:after{content:"";pointer-events:none;border:1px solid #c9a84c33;border-radius:50%;position:absolute;inset:4px}.door-seal:hover{animation:none;transform:scale(1.1);box-shadow:0 15px 50px #000000b3,0 0 60px #c9a84c99}.seal-inner{flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.seal-initials{font-family:var(--font-serif);color:#c9a84c;letter-spacing:2px;font-size:2.2rem;line-height:1}.seal-tap{font-family:var(--font-sans);letter-spacing:.3em;color:#c9a84ccc;font-size:.55rem}.main-content-wrapper{opacity:0;transition:opacity 1s .5s}.main-content-wrapper.revealed{opacity:1}.floating-particles{z-index:1;pointer-events:none;opacity:.4;position:absolute;inset:0;overflow:hidden}.envelope-overlay.opened .floating-particles{opacity:0;transition:opacity 1s}.particle{background:var(--primary-light);width:2px;height:2px;box-shadow:0 0 6px var(--primary);opacity:.6;border-radius:50%;position:absolute}.particle:first-child{animation:12s ease-in-out infinite alternate drift1;top:10%;left:15%}.particle:nth-child(2){animation:15s ease-in-out 1s infinite alternate drift2;top:25%;left:80%}.particle:nth-child(3){animation:14s ease-in-out 2s infinite alternate drift3;top:40%;left:30%}.particle:nth-child(4){animation:16s ease-in-out 3s infinite alternate drift1;top:60%;left:70%}.particle:nth-child(5){animation:13s ease-in-out 4s infinite alternate drift2;top:80%;left:20%}.particle:nth-child(6){animation:17s ease-in-out 1s infinite alternate drift3;top:15%;left:60%}.particle:nth-child(7){animation:11s ease-in-out 2s infinite alternate drift1;top:35%;left:10%}.particle:nth-child(8){animation:14s ease-in-out 5s infinite alternate drift2;top:55%;left:85%}.particle:nth-child(9){animation:18s ease-in-out 3s infinite alternate drift3;top:75%;left:45%}.particle:nth-child(10){animation:15s ease-in-out 6s infinite alternate drift1;top:90%;left:75%}.particle:nth-child(11){animation:16s ease-in-out 2s infinite alternate drift2;top:5%;left:40%}.particle:nth-child(12){animation:13s ease-in-out 4s infinite alternate drift3;top:45%;left:55%}.particle:nth-child(13){animation:17s ease-in-out 1s infinite alternate drift1;top:65%;left:15%}.particle:nth-child(14){animation:14s ease-in-out 3s infinite alternate drift2;top:85%;left:60%}.particle:nth-child(15){animation:15s ease-in-out 5s infinite alternate drift3;top:20%;left:90%}.particle:nth-child(16){animation:18s ease-in-out 2s infinite alternate drift1;top:30%;left:50%}.particle:nth-child(17){animation:11s ease-in-out 4s infinite alternate drift2;top:50%;left:25%}.particle:nth-child(18){animation:16s ease-in-out 1s infinite alternate drift3;top:70%;left:80%}.particle:nth-child(19){animation:13s ease-in-out 6s infinite alternate drift1;top:95%;left:35%}.particle:nth-child(20){animation:19s ease-in-out 3s infinite alternate drift2;top:12%;left:5%}.particle:nth-child(21){animation:14s ease-in-out 5s infinite alternate drift3;top:28%;left:65%}.particle:nth-child(22){animation:17s ease-in-out 2s infinite alternate drift1;top:48%;left:95%}.particle:nth-child(23){animation:12s ease-in-out 4s infinite alternate drift2;top:68%;left:5%}.particle:nth-child(24){animation:15s ease-in-out 1s infinite alternate drift3;top:88%;left:50%}.particle:nth-child(25){animation:16s ease-in-out 7s infinite alternate drift1;top:8%;left:95%}.particle:nth-child(26){animation:14s ease-in-out 2s infinite alternate drift2;top:32%;left:35%}.particle:nth-child(27){animation:18s ease-in-out 5s infinite alternate drift3;top:52%;left:75%}.particle:nth-child(28){animation:13s ease-in-out 3s infinite alternate drift1;top:72%;left:25%}.particle:nth-child(29){animation:19s ease-in-out 1s infinite alternate drift2;top:92%;left:15%}.particle:nth-child(30){animation:15s ease-in-out 6s infinite alternate drift3;top:18%;left:45%}.particle:nth-child(31){animation:11s ease-in-out 4s infinite alternate drift1;top:38%;left:5%}.particle:nth-child(32){animation:17s ease-in-out 2s infinite alternate drift2;top:58%;left:65%}.particle:nth-child(33){animation:14s ease-in-out 8s infinite alternate drift3;top:78%;left:85%}.particle:nth-child(34){animation:16s ease-in-out 3s infinite alternate drift1;top:98%;left:95%}.particle:nth-child(35){animation:12s ease-in-out 5s infinite alternate drift2;top:22%;left:25%}.particle:nth-child(36){animation:18s ease-in-out 1s infinite alternate drift3;top:42%;left:85%}.particle:nth-child(37){animation:15s ease-in-out 7s infinite alternate drift1;top:62%;left:45%}.particle:nth-child(38){animation:19s ease-in-out 4s infinite alternate drift2;top:82%;left:5%}.particle:nth-child(39){animation:13s ease-in-out 2s infinite alternate drift3;top:2%;left:65%}.particle:nth-child(40){animation:17s ease-in-out 6s infinite alternate drift1;top:33%;left:55%}@keyframes drift1{0%{opacity:.4;transform:translate(0)scale(1)}50%{opacity:1;transform:translate(30px,-40px)scale(1.5)}to{opacity:.4;transform:translate(-20px,20px)scale(.8)}}@keyframes drift2{0%{opacity:.6;transform:translate(0)scale(.8)}50%{opacity:.3;transform:translate(-40px,30px)scale(1.3)}to{opacity:.8;transform:translate(25px,-25px)scale(1)}}@keyframes drift3{0%{opacity:.3;transform:translate(0)scale(1.2)}50%{opacity:.7;transform:translate(20px,40px)scale(.9)}to{opacity:.4;transform:translate(-30px,-30px)scale(1.4)}}
