:root{--black:#0a0a0a;--black-soft:#141414;--gold:#eec87b;--gold-light:#fceabb;--gold-deep:#c9974b;--cream:#f6efe2;--white:#f5f5f5;--script:"Great Vibes",cursive;--serif:"Cormorant Garamond",serif;--sans:"Montserrat",sans-serif;--display:"Playfair Display",serif}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--black);color:var(--cream);font-family:var(--sans);min-height:100vh;overflow-x:hidden;position:relative}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--black)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gold)}.cursor-glow{width:20px;height:20px;background:radial-gradient(circle,hsla(40,77%,71%,.4) 0,transparent 70%);transition:width .3s,height .3s,opacity .3s}.cursor-dot,.cursor-glow{position:fixed;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%);opacity:0}.cursor-dot{width:4px;height:4px;background:var(--gold-light);box-shadow:0 0 10px var(--gold),0 0 20px hsla(40,77%,71%,.5);transition:opacity .3s}.bg-gradient{position:fixed;inset:0;z-index:0;background:linear-gradient(135deg,#0a0a0a,#141414 25%,#1a1510 50%,#141414 75%,#0a0a0a);background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.halftone-flow-bg{position:fixed;inset:0;z-index:0;pointer-events:none;mix-blend-mode:screen}.halftone-flow-bg canvas{display:block;width:100%;height:100%}.geo-shapes{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.geo{position:absolute;opacity:0;animation:geoFloat 20s ease-in-out infinite}.geo.tri{width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:26px solid hsla(40,77%,71%,.08)}.geo.diamond{width:14px;height:14px;background:hsla(40,77%,71%,.08);transform:rotate(45deg)}.geo.circle{width:20px;height:20px;border-radius:50%;border:1px solid hsla(40,77%,71%,.1)}@keyframes geoFloat{0%{opacity:0;transform:translateY(100vh) rotate(0deg) scale(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100px) rotate(2turn) scale(1.5)}}.shooting-stars{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.shooting-star{position:absolute;width:2px;height:2px;background:var(--gold);border-radius:50%;animation:shoot 6s linear infinite}.shooting-star:after{content:"";position:absolute;top:0;left:0;width:60px;height:1px;background:linear-gradient(to left,transparent,var(--gold));transform:rotate(0deg) translateX(-100%)}@keyframes shoot{0%{opacity:0;transform:translate(0)}2%{opacity:1}5%{opacity:0;transform:translate(-200px,200px)}to{opacity:0}}.grid-lines{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.grid-line{position:absolute;background:hsla(40,77%,71%,.03)}.grid-line.h{width:100%;height:1px;animation:gridPulseH 8s ease-in-out infinite}.grid-line.v{height:100%;width:1px;animation:gridPulseV 8s ease-in-out infinite}@keyframes gridPulseH{0%,to{opacity:.3}50%{opacity:.8}}@keyframes gridPulseV{0%,to{opacity:.3}50%{opacity:.8}}#particlesCanvas,.gold-dust{position:fixed;inset:0;pointer-events:none;z-index:0}.gold-dust{overflow:hidden}.dust{position:absolute;width:2px;height:2px;background:var(--gold);border-radius:50%;box-shadow:0 0 6px var(--gold),0 0 12px hsla(40,77%,71%,.4);animation:dustFloat 15s linear infinite;opacity:0}@keyframes dustFloat{0%{opacity:0;transform:translateY(100vh) translateX(0) scale(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-50px) translateX(30px) scale(1.2)}}.pulse-ring{position:absolute;inset:-10px;border-radius:50%;border:2px solid var(--gold);animation:pulseRing 2s ease-out infinite;opacity:0}@keyframes pulseRing{0%{transform:scale(1);opacity:.8}to{transform:scale(1.3);opacity:0}}@keyframes glowingBorder{0%,to{border-color:hsla(40,77%,71%,.3);box-shadow:0 0 20px hsla(40,77%,71%,.1)}50%{border-color:hsla(40,77%,71%,.6);box-shadow:0 0 40px hsla(40,77%,71%,.3),inset 0 0 20px hsla(40,77%,71%,.05)}}.delay-1{animation-delay:.1s!important}.delay-2{animation-delay:.2s!important}.delay-3{animation-delay:.3s!important}.delay-4{animation-delay:.4s!important}.delay-5{animation-delay:.5s!important}.delay-6{animation-delay:.6s!important}.delay-7{animation-delay:.7s!important}.glow-border{animation:glowingBorder 3s ease-in-out infinite}.invitation{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 0,#1a1a1a 0,#0a0a0a 50%,#050505 100%)}.header{position:relative;padding:40px 80px 20px;text-align:center;background:linear-gradient(180deg,hsla(0,0%,8%,.9),transparent);overflow:visible;width:100%}.header:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:radial-gradient(ellipse at 50% -50%,hsla(40,77%,71%,.15) 0,transparent 70%);pointer-events:none}.eyebrow{font-family:var(--sans);font-size:clamp(10px,1.5vw,13px);letter-spacing:.4em;font-weight:500;color:var(--cream);opacity:.8;text-transform:uppercase;margin-bottom:20px}.headline{font-family:var(--display);font-size:clamp(2.6rem,10vw,6rem);line-height:.95;margin-bottom:20px;padding:0 20px;background:linear-gradient(120deg,var(--gold-deep),var(--gold-light) 25%,var(--gold) 50%,var(--gold-light) 75%,var(--gold-deep));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 4s linear infinite;filter:drop-shadow(0 4px 20px rgba(238,200,123,.35));min-height:1.1em}@keyframes shimmer{0%{background-position:0 50%}to{background-position:200% 50%}}.sub-headline{font-family:var(--serif);font-size:clamp(1rem,3vw,1.5rem);letter-spacing:.15em;color:var(--white);text-transform:uppercase;margin-top:20px}.profile-section{position:relative;z-index:1;padding:40px 20px;text-align:center;background:linear-gradient(180deg,transparent,hsla(0,0%,6%,.95) 30%,hsla(0,0%,6%,.95) 70%,transparent)}.profile-container{position:relative;display:inline-block;margin-bottom:25px}.profile-ring{width:220px;height:220px;border-radius:50%;border:5px solid var(--gold);box-shadow:0 0 30px hsla(40,77%,71%,.5),0 0 60px hsla(40,77%,71%,.25),inset 0 0 30px hsla(40,77%,71%,.1);animation:ringGlow 3s ease-in-out infinite;overflow:hidden}@keyframes ringGlow{0%,to{box-shadow:0 0 30px hsla(40,77%,71%,.5),0 0 60px hsla(40,77%,71%,.25)}50%{box-shadow:0 0 40px hsla(40,77%,71%,.7),0 0 80px hsla(40,77%,71%,.4)}}.profile-img{width:100%;height:100%;object-fit:cover}.profile-name{font-family:var(--display);font-size:clamp(2rem,6vw,3.5rem);margin-top:30px;background:linear-gradient(120deg,var(--gold-deep),var(--gold-light) 30%,var(--gold));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5s linear infinite}.profile-title{font-family:var(--serif);font-size:clamp(1.2rem,3.5vw,1.8rem);letter-spacing:.1em;color:var(--white);text-transform:uppercase;margin-top:15px;font-weight:600}.message-section{position:relative;z-index:1;padding:30px 20px;text-align:center;background:linear-gradient(180deg,transparent,hsla(0,0%,8%,.95) 20%,hsla(0,0%,8%,.95) 80%,transparent)}.message-container{max-width:700px;margin:0 auto}.divider{width:100px;height:2px;margin:0 auto 40px;background:linear-gradient(to right,transparent,var(--gold),transparent)}.message-text{font-family:var(--serif);font-size:clamp(1.1rem,2.5vw,1.5rem);line-height:1.8;color:var(--cream);font-style:italic;opacity:.9}.highlight{color:var(--gold);font-weight:600;font-style:normal}.details-section{position:relative;z-index:1;padding:30px 20px;text-align:center;background:linear-gradient(180deg,transparent,hsla(0,0%,6%,.98) 15%,hsla(0,0%,6%,.98) 85%,transparent)}.details-container{max-width:900px;margin:0 auto}.details-header{font-family:var(--sans);font-size:11px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin-bottom:50px;display:flex;align-items:center;justify-content:center;gap:20px}.details-header:after,.details-header:before{content:"";width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.details-header:after{background:linear-gradient(90deg,var(--gold),transparent)}.details-row{display:flex;justify-content:center;align-items:stretch;gap:0;flex-wrap:wrap}.detail-item{flex:1 1;min-width:200px;max-width:300px;padding:25px 30px;position:relative;border-bottom:1px solid hsla(40,77%,71%,.2)}.detail-item:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:hsla(40,77%,71%,.2)}.detail-icon-svg{width:40px;height:40px;margin:0 auto 20px;opacity:.9}.detail-icon-svg svg{width:100%;height:100%;fill:none;stroke:var(--gold);stroke-width:1.5;filter:drop-shadow(0 2px 8px rgba(238,200,123,.3))}.detail-label{font-family:var(--sans);font-size:10px;letter-spacing:.35em;color:var(--gold);text-transform:uppercase;margin-bottom:12px;opacity:.8}.detail-value{font-family:var(--display);font-size:clamp(1.4rem,3.5vw,2rem);color:var(--white);font-weight:600;line-height:1.3;margin-bottom:8px}.detail-sub{font-family:var(--sans);font-size:12px;color:var(--cream);opacity:.6;letter-spacing:.08em}.detail-divider{width:30px;height:1px;margin:15px auto 0;background:var(--gold);opacity:.4}.countdown-section{position:relative;z-index:1;padding:20px 20px 40px;text-align:center}.countdown-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;max-width:520px;margin:0 auto}.cbox{flex:1 1;min-width:70px;border:1px solid hsla(40,77%,71%,.35);background:hsla(0,0%,8%,.5);padding:18px 8px;position:relative}.cbox:after{content:"";position:absolute;top:8px;right:10px;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 6px var(--gold);animation:twinkle 1.6s infinite}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}.cbox .num{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,4.5vw,2.3rem);color:var(--gold-light);text-shadow:0 0 16px hsla(40,77%,71%,.4)}.cbox .lbl{font-family:var(--sans);font-size:9.5px;letter-spacing:.25em;color:var(--cream);opacity:.65;margin-top:6px;text-transform:uppercase}.quote-section{position:relative;z-index:1;padding:40px 20px;text-align:center;background:linear-gradient(180deg,transparent,hsla(0,0%,6%,.95) 30%,hsla(0,0%,6%,.95) 70%,transparent)}.quote-mark{font-family:var(--script);font-size:6rem;color:var(--gold);opacity:.3;line-height:1;margin-bottom:-30px}.quote-text{font-family:var(--serif);font-size:clamp(1.3rem,3.5vw,2rem);line-height:1.7;color:var(--cream);font-style:italic;max-width:700px;margin:0 auto}.rsvp-section{position:relative;z-index:1;padding:30px 20px 50px;text-align:center}.rsvp-title{font-family:var(--sans);font-size:12px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;margin-bottom:25px}.rsvp-box{display:flex;flex-direction:column;gap:10px;border:1px solid hsla(40,77%,71%,.4);background:hsla(0,0%,8%,.8);padding:20px 24px;max-width:500px;margin:0 auto}.rsvp-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rsvp-input{flex:1 1;min-width:160px;background:transparent;outline:none;color:var(--cream);font-family:var(--sans);font-size:14px;letter-spacing:.03em;padding:12px 0;border:none;border-bottom:1px solid hsla(40,77%,71%,.2)}.rsvp-input::placeholder{color:hsla(39,53%,93%,.4)}.rsvp-input:focus{border-bottom-color:var(--gold)}.rsvp-btn{background:linear-gradient(120deg,var(--gold-deep),var(--gold-light));border:none;color:#171106;font-family:var(--sans);font-weight:600;letter-spacing:.15em;text-transform:uppercase;font-size:12px;padding:14px 30px;cursor:pointer;white-space:nowrap;transition:all .3s ease;width:100%}.rsvp-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 5px 20px hsla(40,77%,71%,.3)}.rsvp-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.status-line{margin-top:15px;font-family:var(--sans);font-size:13px;min-height:20px;color:hsla(39,53%,93%,.55);letter-spacing:.03em}.status-line.ok{color:var(--gold)}.status-line.err{color:#e37373}.contact-inquiry{margin-top:18px;font-family:var(--sans);font-size:14px;letter-spacing:.08em;color:var(--cream);opacity:.75;font-weight:500}.contact-inquiry .highlight-name{color:var(--gold);font-weight:600}.footer{position:relative;z-index:1;padding:20px;text-align:center;border-top:1px solid hsla(40,77%,71%,.2);background:hsla(0,0%,4%,.9)}.footer-text{font-family:var(--sans);font-size:12px;letter-spacing:.15em;color:var(--cream);opacity:.65}.footer-link{color:var(--gold);text-decoration:none;font-weight:600;letter-spacing:.1em;transition:color .3s ease}.footer-link:hover{color:var(--gold-light)}.location-link{color:var(--white);text-decoration:none;border-bottom:1px solid hsla(40,77%,71%,.3);transition:all .3s ease}.location-link:hover{color:var(--gold);border-bottom-color:var(--gold)}.wa-link{color:inherit;text-decoration:none}@media (max-width:600px){.header{padding:30px 20px 15px}.headline{font-size:clamp(1.8rem,11vw,2.6rem)}.profile-section{padding:15px}.details-section,.message-section{padding:20px 15px}.details-row{flex-direction:column;align-items:center}.detail-item{min-width:100%;max-width:100%;padding:20px}.detail-item:after{display:none}.detail-item:not(:last-child){border-bottom:1px solid hsla(40,77%,71%,.2)}.quote-section{padding:30px 15px}.rsvp-section{padding:20px 15px 40px}.countdown-row{gap:10px}.cbox{min-width:60px;padding:14px 6px}}