:root{--black: #0a0806;--black-2: #120d08;--gold: #d4af6a;--gold-bright: #f0cd82;--gold-deep: #a5793a;--cream: #f3ead6;--line: rgba(212, 175, 106, .28)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--black);color:var(--cream);font-family:Cormorant Garamond,serif;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 10% 20%,rgba(212,175,106,.5),transparent),radial-gradient(1px 1px at 80% 10%,rgba(212,175,106,.4),transparent),radial-gradient(1.5px 1.5px at 60% 70%,rgba(212,175,106,.5),transparent),radial-gradient(1px 1px at 30% 85%,rgba(212,175,106,.35),transparent),radial-gradient(1px 1px at 90% 60%,rgba(212,175,106,.4),transparent),radial-gradient(1.5px 1.5px at 45% 40%,rgba(212,175,106,.3),transparent);pointer-events:none;z-index:0}.eyebrow{font-family:Cinzel,serif;letter-spacing:.35em;font-size:.9rem;color:var(--gold);text-transform:uppercase}.section-title{font-family:Cinzel,serif;letter-spacing:.3em;font-size:1rem;color:var(--gold);text-transform:uppercase;text-align:center;display:flex;align-items:center;justify-content:center;gap:18px}.section-title:before,.section-title:after{content:"";height:1px;width:42px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}a{color:inherit;text-decoration:none}img,svg{max-width:100%}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at 75% 30%,rgba(165,121,58,.25),transparent 55%),linear-gradient(180deg,#0a0806,#100b06)}.hero-glow{position:absolute;top:-10%;right:-10%;width:70%;height:120%;background:radial-gradient(circle,rgba(212,175,106,.18) 0%,transparent 65%);z-index:0;animation:pulseGlow 6s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.7}50%{opacity:1}}.hero-inner{position:relative;z-index:2;width:100%;max-width:780px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding:120px 6vw 100px}.hero-text{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center}.crown{width:34px;height:34px;margin-bottom:18px;fill:var(--gold);filter:drop-shadow(0 0 8px rgba(212,175,106,.6));opacity:0;animation:fadeUp .8s ease forwards .1s}.invited-to{margin-bottom:10px;opacity:0;animation:fadeUp .8s ease forwards .25s}.hero-name{font-family:Cinzel,serif;font-weight:800;font-size:clamp(2.9rem,8.6vw,5.8rem);line-height:.95;letter-spacing:.02em;background:linear-gradient(180deg,#f5da9c,#d4af6a 45%,#a5793a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(212,175,106,.25);opacity:0;animation:fadeUp .9s ease forwards .4s}.hero-script{font-family:Great Vibes,cursive;font-size:clamp(2.7rem,7.6vw,5rem);color:var(--cream);line-height:1;margin-top:4px;margin-bottom:18px;text-shadow:0 0 24px rgba(240,205,130,.35);opacity:0;animation:fadeUp .9s ease forwards .55s}.hero-tagline{font-family:Cinzel,serif;letter-spacing:.22em;font-size:clamp(.8rem,2vw,.98rem);color:var(--gold-bright);text-transform:uppercase;margin-bottom:34px;opacity:0;animation:fadeUp .9s ease forwards .7s}.hero-details{display:flex;flex-wrap:wrap;justify-content:center;gap:22px 30px;margin-bottom:40px;opacity:0;animation:fadeUp .9s ease forwards .85s}.detail{display:flex;align-items:flex-start;gap:10px;text-align:left}.detail svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.6;flex-shrink:0;margin-top:2px}.detail-label{font-family:Cinzel,serif;font-size:.74rem;letter-spacing:.15em;color:var(--gold);text-transform:uppercase;margin-bottom:3px}.detail-value{font-size:1.2rem;color:var(--cream);line-height:1.25}.cta-btn{display:inline-block;font-family:Cinzel,serif;letter-spacing:.2em;font-size:1.02rem;text-transform:uppercase;color:var(--gold-bright);border:1px solid var(--gold);padding:16px 42px;background:transparent;position:relative;cursor:pointer;min-height:44px;transition:all .4s ease;opacity:0;animation:fadeUp .9s ease forwards 1s}.cta-btn:hover{background:var(--gold);color:#14100a;box-shadow:0 0 30px #d4af6a73}.cta-btn:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 860px){.hero-inner{padding-top:90px}.section-title:before,.section-title:after{width:26px}}.countdown-section{position:relative;z-index:1;padding:70px 6vw 60px;border-top:1px solid var(--line)}.countdown-grid{max-width:760px;margin:34px auto 0;display:flex;justify-content:center;align-items:center;gap:clamp(14px,4vw,40px);flex-wrap:wrap}.count-unit{text-align:center;min-width:70px}.count-num{font-family:Cinzel,serif;font-weight:700;font-size:clamp(2.5rem,6.8vw,3.9rem);background:linear-gradient(180deg,#f5da9c,#a5793a);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.count-label{font-family:Cinzel,serif;font-size:.8rem;letter-spacing:.2em;color:var(--cream);opacity:.85;text-transform:uppercase;margin-top:8px}.count-divider{color:var(--line);font-size:2rem;font-weight:200;opacity:.5}.featuring-section{position:relative;z-index:1;padding:60px 6vw 70px;border-top:1px solid var(--line)}.dj-row{max-width:1100px;margin:40px auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.dj-card{display:flex;align-items:center;gap:20px}.dj-card.right{flex-direction:row-reverse;text-align:right}.dj-photo{width:200px;height:200px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid var(--gold);box-shadow:0 0 24px #d4af6a4d}.dj-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.dj-name{font-family:Cinzel,serif;font-weight:700;font-size:clamp(2rem,4.4vw,3rem);color:var(--gold-bright);line-height:1.15;letter-spacing:.03em}.dj-script{font-family:Great Vibes,cursive;color:var(--gold);font-size:1.9rem;margin-top:2px}.dj-x{font-family:Cinzel,serif;font-size:1.9rem;color:var(--gold);opacity:.75}@media (max-width: 700px){.dj-row{grid-template-columns:1fr;justify-items:center}.dj-card,.dj-card.right{flex-direction:column;text-align:center}.dj-x{order:0}}.experience-section{position:relative;z-index:1;padding:60px 6vw 70px;border-top:1px solid var(--line)}.exp-grid{max-width:980px;margin:40px auto 0;display:grid;grid-template-columns:repeat(4,1fr)}.exp-item{text-align:center;padding:0 18px;border-left:1px solid var(--line)}.exp-item:first-child{border-left:none}.exp-item svg{width:34px;height:34px;stroke:var(--gold);fill:none;stroke-width:1.4;margin-bottom:14px}.exp-title{font-family:Cinzel,serif;letter-spacing:.15em;font-size:.95rem;color:var(--gold);text-transform:uppercase;margin-bottom:8px}.exp-desc{font-size:1.15rem;color:var(--cream);opacity:.85;line-height:1.4}@media (max-width: 700px){.exp-grid{grid-template-columns:repeat(2,1fr);row-gap:34px}.exp-item:nth-child(3){border-left:none}}.location-section{position:relative;z-index:1;padding:60px 6vw 80px;border-top:1px solid var(--line)}.location-grid{max-width:1000px;margin:36px auto 0;display:grid;grid-template-columns:1.3fr 1fr;gap:34px;align-items:center}.map-box{position:relative;aspect-ratio:16/9;border:1px solid var(--gold);background:linear-gradient(135deg,#1a140c,#0d0a06);overflow:hidden}.map-box svg{width:100%;height:100%;display:block}.loc-address{font-size:1.45rem;line-height:1.5;color:var(--cream);margin-bottom:22px;font-family:Cinzel,serif;letter-spacing:.04em}.map-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:Cinzel,serif;font-size:.86rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-bright);border:1px solid var(--gold);padding:14px 26px;min-height:44px;transition:all .3s ease}.map-btn:hover{background:var(--gold);color:#14100a}.map-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}@media (max-width: 760px){.location-grid{grid-template-columns:1fr;text-align:center}.loc-address{text-align:center}.map-btn{width:min(100%,320px)}}@media (max-width: 900px){.hero-inner,.countdown-section,.featuring-section,.experience-section,.location-section,.footer{padding-left:7vw;padding-right:7vw}.hero-details{gap:16px 20px}.countdown-grid{gap:12px 20px}}@media (max-width: 640px){.hero{min-height:92svh}.hero-inner{padding-top:84px;padding-bottom:74px}.hero-tagline{letter-spacing:.16em}.hero-details{flex-direction:column;align-items:center;gap:14px}.detail{width:min(100%,320px)}.countdown-grid{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));justify-items:center;gap:16px 10px}.count-divider{display:none}.dj-photo{width:160px;height:160px}.exp-grid{grid-template-columns:1fr;gap:24px}.exp-item,.exp-item:first-child,.exp-item:nth-child(3){border-left:none;padding:0}.loc-address{font-size:1.3rem}.footer-rule:before,.footer-rule:after{width:64px}}@media (max-width: 420px){.section-title{letter-spacing:.2em}.cta-btn,.map-btn{width:100%;max-width:320px;padding-left:16px;padding-right:16px}}.footer{position:relative;z-index:1;padding:50px 6vw 60px;text-align:center}.footer-script{font-family:Great Vibes,cursive;font-size:clamp(1.9rem,4.8vw,2.6rem);color:var(--gold)}.footer-rule{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;color:var(--gold)}.footer-rule:before,.footer-rule:after{content:"";height:1px;width:90px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.rsvp-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:20px}.rsvp-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#050403b8;cursor:pointer}.rsvp-panel{position:relative;z-index:1;width:min(100%,460px);padding:28px 24px 24px;border:1px solid var(--gold);background:linear-gradient(180deg,#110d08,#17120c);box-shadow:0 20px 60px #00000073;border-radius:14px}.rsvp-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);background:transparent;color:var(--gold-bright);font-size:1.2rem;line-height:1;cursor:pointer}.rsvp-panel h2{font-family:Cinzel,serif;font-size:1.4rem;letter-spacing:.08em;color:var(--gold-bright);text-transform:uppercase;margin-bottom:8px}.rsvp-copy{font-size:1.08rem;opacity:.9;margin-bottom:18px}.rsvp-form{display:grid;gap:12px}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.rsvp-form label{font-family:Cinzel,serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.rsvp-form input{width:100%;border:1px solid var(--line);background:#070605b3;color:var(--cream);padding:12px 14px;border-radius:10px;font-size:1rem;outline:none;min-height:44px}.rsvp-form input:focus{border-color:var(--gold);box-shadow:0 0 0 2px #d4af6a33}.rsvp-submit{margin-top:6px;min-height:44px;border:1px solid var(--gold);background:transparent;color:var(--gold-bright);font-family:Cinzel,serif;font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .3s ease;border-radius:10px}.rsvp-submit:disabled{opacity:.7;cursor:wait}.rsvp-submit:hover{background:var(--gold);color:#14100a}.rsvp-calendar{margin-top:12px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none}.rsvp-calendar svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}.rsvp-celebrate{border:1px solid var(--line);background:radial-gradient(circle at top right,rgba(240,205,130,.18),transparent 50%),#d4af6a14;padding:14px;border-radius:10px;text-align:center;animation:rsvpRiseIn .5s ease both}.rsvp-success{font-size:1.05rem;color:var(--cream);font-weight:600}.rsvp-warm-message{margin-top:8px;font-size:1rem;color:var(--cream);opacity:.95}@keyframes rsvpRiseIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.rsvp-error{border:1px solid rgba(214,88,88,.4);background:#d658581f;padding:10px 12px;border-radius:10px;font-size:.95rem;color:#ffd6d6}.rsvp-note{border:1px solid var(--line);background:#d4af6a14;padding:10px 12px;border-radius:10px;font-size:.95rem;color:var(--cream)}@media (max-width: 420px){.rsvp-panel{padding:24px 16px 18px}}@media (prefers-reduced-motion: reduce){.hero-name,.hero-script,.hero-tagline,.hero-details,.cta-btn,.invited-to,.crown,.hero-glow,.rsvp-celebrate{animation:none!important;opacity:1!important}}
