.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-bg{background:linear-gradient(180deg,rgba(13,13,13,.45),rgba(13,13,13,.6) 50%,rgba(13,13,13,.85)),url(/images/hero-bg.jpg) 50% /cover no-repeat}.hero-bg,.hero-particles{position:absolute;inset:0}.hero-particles{overflow:hidden;pointer-events:none}.particle{position:absolute;width:2px;height:2px;background:var(--gold);border-radius:50%;opacity:0;animation:particleFloat 8s ease-in-out infinite}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-10vh) scale(1)}}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:24px;padding:0 24px}.hero-monogram{font-size:clamp(4rem,12vw,8rem);font-weight:400;color:var(--gold);line-height:1;letter-spacing:.08em;text-shadow:0 0 60px rgba(201,169,110,.3)}.hero-monogram,.hero-name{font-family:var(--font-display)}.hero-name{font-size:clamp(2.2rem,6vw,4.5rem);font-style:italic;font-weight:700;color:var(--cream);letter-spacing:.06em;line-height:1.1}.hero-subtitle{font-family:var(--font-sans);font-size:clamp(.75rem,2vw,1.5rem);font-weight:300;letter-spacing:.35em;text-transform:uppercase;color:var(--rose)}.hero-date{font-family:var(--font-body);font-size:clamp(1.1rem,3vw,1.5rem);color:var(--text-secondary);font-weight:300;letter-spacing:.08em}.hero-divider{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:8px 0}.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-family:var(--font-sans);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;animation:float 3s ease-in-out infinite}.hero-scroll-line{width:1px;height:30px;background:linear-gradient(180deg,var(--gold),transparent)}.welcome{padding:120px 0;text-align:center;position:relative}.welcome-inner{max-width:700px;margin:0 auto;padding:0 24px}.welcome-text{font-family:var(--font-body);font-size:clamp(1.12rem,2.5vw,1.5rem);color:var(--text-secondary);line-height:1.9;font-weight:300}.countdown-section{padding:80px 0;text-align:center;background:var(--black-soft);position:relative}.countdown-section:before{top:0}.countdown-section:after,.countdown-section:before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.countdown-section:after{bottom:0}.details-preview{padding:100px 0}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px;max-width:var(--container-width);margin:0 auto;padding:0 24px}.detail-card{background:var(--black-soft);border:1px solid var(--charcoal);border-radius:4px;padding:40px 32px;text-align:center;transition:all .4s var(--ease-smooth);display:flex;flex-direction:column;align-items:center;gap:16px}.detail-card:hover{border-color:var(--gold);transform:translateY(-6px);box-shadow:var(--shadow-glow-gold)}.detail-icon{font-size:2rem;margin-bottom:4px}.detail-label{font-family:var(--font-sans);font-size:1rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.detail-value{font-family:var(--font-body);font-size:1.4rem;color:var(--text-primary);line-height:1.6}.gallery-preview{padding:100px 0;background:var(--black-soft)}.gallery-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;max-width:var(--container-width);margin:0 auto 40px;padding:0 24px}.gallery-preview-item{aspect-ratio:1;border-radius:4px;overflow:hidden;border:1px solid var(--gold)}.cta-section,.gallery-preview-cta{text-align:center}.cta-section{padding:120px 0;position:relative;overflow:hidden}.cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,169,110,.06) 0,transparent 70%),var(--black)}.cta-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:24px}.cta-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);font-style:italic;font-weight:400;color:var(--cream)}.cta-subtitle{font-family:var(--font-body);font-size:1.6rem;color:var(--text-secondary);font-weight:300}@media (max-width:768px){.details-grid{grid-template-columns:1fr;gap:16px}.gallery-preview-grid{grid-template-columns:repeat(2,1fr)}}