:root{--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-200:#e9d5ff;--purple-300:#d8b4fe;--purple-400:#c084fc;--purple-500:#a855f7;--purple-600:#9333ea;--purple-700:#7e22ce;--purple-800:#6b21a8;--purple-900:#581c87;--purple-950:#3b0764;--gold:#d4a574;--gold-light:#e8c9a0;--cream:#fef7ed;--white:#fff;--black:#0f0515;--bg-primary:var(--purple-950);--bg-secondary:#1a0a2e;--bg-card:rgba(126,34,206,.08);--bg-glass:rgba(126,34,206,.12);--text-primary:var(--white);--text-secondary:var(--purple-200);--text-muted:var(--purple-400);--border-subtle:rgba(168,85,247,.2);--font-serif:"Playfair Display",Georgia,serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-script:"Great Vibes",cursive;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--transition-smooth:0.4s cubic-bezier(0.4,0,0.2,1);--transition-spring:0.6s cubic-bezier(0.34,1.56,0.64,1);--shadow-sm:0 2px 8px rgba(88,28,135,.15);--shadow-md:0 8px 32px rgba(88,28,135,.25);--shadow-lg:0 16px 64px rgba(88,28,135,.35);--shadow-glow:0 0 30px rgba(168,85,247,.3);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}img{display:block;height:auto;max-width:100%}.script-font{font-family:var(--font-script);font-weight:400}.serif-font{font-family:var(--font-serif)}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}.wedding-nav{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:rgba(15,5,21,.85);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;left:0;padding:var(--space-md) var(--space-2xl);position:fixed;right:0;top:0;z-index:1000}.nav-brand .script-font,.nav-brand a{color:var(--purple-300);font-size:1.8rem;letter-spacing:2px}.nav-brand img{height:50px!important;max-width:50%!important}.nav-links{display:flex;gap:var(--space-lg)}.nav-link{border-radius:var(--radius-full);color:var(--purple-300);font-family:var(--font-sans);font-size:.9rem;font-weight:500;letter-spacing:2px;padding:var(--space-sm) var(--space-md);position:relative;text-transform:uppercase;transition:all var(--transition-fast)}.nav-link:after{background:linear-gradient(90deg,var(--purple-400),var(--gold));border-radius:2px;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width var(--transition-smooth);width:0}.nav-link.active:after,.nav-link:hover:after{width:60%}.admin-badge,.nav-link.active,.nav-link:hover{color:var(--white)}.admin-badge{background:linear-gradient(135deg,var(--purple-600),var(--purple-800));border-radius:var(--radius-full);font-family:var(--font-sans);font-size:.65rem;font-weight:700;letter-spacing:2px;margin-left:var(--space-sm);padding:3px 10px;text-transform:uppercase;vertical-align:middle}.hero-section{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative;text-align:center}.hero-slideshow{inset:0;position:absolute;z-index:0}.hero-slide{background-position:50%;background-repeat:no-repeat;background-size:contain;inset:0;opacity:0;position:absolute;transform:scale(1.05);transition:opacity 2s ease-in-out,transform 8s ease-in-out}.hero-slide--active{opacity:1;transform:scale(1)}.hero-overlay{background:linear-gradient(180deg,rgba(15,5,21,.45),rgba(15,5,21,.3) 50%,rgba(15,5,21,.7)),radial-gradient(ellipse at center,transparent 30%,rgba(15,5,21,.5) 100%);inset:0;z-index:1}.hero-ornament,.hero-overlay{pointer-events:none;position:absolute}.hero-ornament{border-color:hsla(31,53%,64%,.4);border-style:solid;height:120px;width:120px;z-index:2}.hero-ornament--top-left{border-width:2px 0 0 2px;left:30px;top:30px}.hero-ornament--top-right{border-width:2px 2px 0 0;right:30px;top:30px}.hero-ornament--bottom-left{border-width:0 0 2px 2px;bottom:30px;left:30px}.hero-ornament--bottom-right{border-width:0 2px 2px 0;bottom:30px;right:30px}.hero-content{max-width:850px;padding:var(--space-3xl) var(--space-xl);position:relative;z-index:3}.hero-subtitle{color:var(--gold-light);font-family:var(--font-script);font-size:clamp(1.2rem,3vw,1.6rem);font-weight:400;letter-spacing:2px;text-shadow:0 2px 20px rgba(0,0,0,.5)}.hero-names,.hero-subtitle{margin-bottom:var(--space-md)}.hero-names{line-height:1}.hero-name-script{color:var(--white);display:inline-block;font-family:var(--font-script);font-size:clamp(3.5rem,10vw,7rem);position:relative;text-shadow:0 4px 30px rgba(0,0,0,.5)}.hero-name-ampersand{color:var(--gold);display:inline-block;font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);font-style:italic;margin:0 var(--space-lg);text-shadow:0 2px 20px rgba(0,0,0,.4);vertical-align:middle}.hero-divider{align-items:center;display:flex;gap:var(--space-md);justify-content:center;margin:var(--space-lg) 0}.divider-line{background:linear-gradient(90deg,transparent,var(--gold),transparent);height:1px;width:80px}.divider-icon{animation:pulse-glow 2s ease-in-out infinite;font-size:1.2rem}.hero-date{color:var(--purple-200);font-family:var(--font-serif);font-size:clamp(1rem,2vw,1.4rem);letter-spacing:2px;margin-bottom:var(--space-sm)}.hero-date,.hero-venue{text-shadow:0 2px 10px rgba(0,0,0,.4)}.hero-venue{color:rgba(233,213,255,.85);font-size:clamp(.8rem,1.5vw,1rem);line-height:1.6;margin-bottom:var(--space-2xl);margin-left:auto;margin-right:auto;max-width:500px}.countdown-container{align-items:center;display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-2xl)}.countdown-item{align-items:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.15);border-radius:var(--radius-md);box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;min-width:80px;padding:var(--space-md) var(--space-lg)}.countdown-number{color:var(--white);font-family:var(--font-serif);font-size:2rem;font-weight:700;line-height:1}.countdown-label{color:var(--gold-light);font-size:.7rem;letter-spacing:2px;margin-top:var(--space-xs);text-transform:uppercase}.countdown-separator{animation:blink 1s step-end infinite;font-size:1.5rem}.countdown-passed,.countdown-separator{color:var(--gold);font-family:var(--font-serif)}.countdown-passed{font-size:1.3rem}.hero-scroll-indicator{align-items:center;bottom:30px;display:flex;flex-direction:column;gap:8px;left:50%;position:absolute;transform:translateX(-50%);z-index:3}.scroll-mouse{border:2px solid hsla(0,0%,100%,.4);border-radius:12px;display:flex;height:38px;justify-content:center;position:relative;width:24px}.scroll-wheel{animation:scroll-bounce 2s ease-in-out infinite;background:hsla(0,0%,100%,.6);border-radius:2px;height:8px;margin-top:6px;width:3px}@keyframes scroll-bounce{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.3;transform:translateY(8px)}}.hello-section{background:var(--bg-secondary);padding:0 var(--space-xl)}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}.btn-primary{align-items:center;background:linear-gradient(135deg,var(--purple-600),var(--purple-800));border:1px solid rgba(168,85,247,.3);border-radius:var(--radius-full);box-shadow:var(--shadow-md),var(--shadow-glow);color:var(--white);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.9rem;font-weight:600;gap:var(--space-sm);letter-spacing:1px;padding:var(--space-md) var(--space-xl);transition:all var(--transition-smooth)}.btn-primary:hover{background:linear-gradient(135deg,var(--purple-500),var(--purple-700));box-shadow:var(--shadow-lg),0 0 50px rgba(168,85,247,.4);transform:translateY(-2px)}.btn-secondary{align-items:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--purple-300);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.9rem;font-weight:600;gap:var(--space-sm);letter-spacing:1px;padding:var(--space-md) var(--space-xl);transition:all var(--transition-smooth)}.btn-secondary:hover{background:var(--bg-glass);border-color:var(--purple-500);color:var(--white);transform:translateY(-2px)}.quote-section{background:linear-gradient(180deg,var(--bg-primary),var(--bg-secondary),var(--bg-primary));padding:var(--space-3xl) var(--space-xl);position:relative;text-align:center}.quote-content{margin:0 auto;max-width:700px}.quote-mark{color:var(--purple-700);display:block;font-size:5rem;line-height:.5;margin-bottom:var(--space-md)}.quote-mark,.quote-text{font-family:var(--font-serif)}.quote-text{color:var(--purple-200);font-size:1.5rem;font-style:italic;line-height:1.8;margin-bottom:var(--space-lg)}.quote-author{color:var(--purple-500);font-family:var(--font-sans);font-size:.85rem;font-style:normal;letter-spacing:2px;text-transform:uppercase}.wedding-footer{background:rgba(15,5,21,.6);border-top:1px solid var(--border-subtle);padding:var(--space-2xl) var(--space-xl);text-align:center}.footer-names{color:var(--purple-300);font-size:2rem}.footer-date,.footer-names{margin-bottom:var(--space-sm)}.footer-date{color:var(--purple-500);font-family:var(--font-sans);font-size:.85rem;letter-spacing:2px;text-transform:uppercase}.footer-copy{color:var(--purple-700);font-size:.75rem}.page-wrapper{display:flex;flex-direction:column;min-height:100vh}.admin-main,.gallery-main,.rsvp-main{flex:1;padding-top:80px}.bg-particles{inset:0;overflow:hidden;pointer-events:none;position:absolute}.particle{animation:float-particle 15s infinite;background:var(--purple-500);border-radius:50%;height:4px;opacity:0;position:absolute;width:4px}.particle:first-child{animation-delay:0s;animation-duration:12s;left:10%}.particle:nth-child(2){animation-delay:2s;animation-duration:18s;left:25%}.particle:nth-child(3){animation-delay:4s;animation-duration:14s;left:40%}.particle:nth-child(4){animation-delay:1s;animation-duration:16s;left:60%}.particle:nth-child(5){animation-delay:3s;animation-duration:20s;left:75%}.particle:nth-child(6){animation-delay:5s;animation-duration:13s;left:90%}@keyframes float-particle{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:.6}90%{opacity:.2}to{opacity:0;transform:translateY(-20vh) scale(1.5)}}@keyframes pulse-glow{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@media (max-width:768px){.wedding-nav{padding:var(--space-sm) var(--space-md)}.nav-brand .script-font,.nav-brand a{font-size:1.4rem}.nav-links{gap:var(--space-sm)}.nav-link{font-size:.75rem;letter-spacing:1px;padding:var(--space-xs) var(--space-sm)}.hero-content{padding:var(--space-2xl) var(--space-md)}.hero-ornament{height:60px;width:60px}.hero-ornament--top-left,.hero-ornament--top-right{top:15px}.hero-ornament--bottom-left,.hero-ornament--top-left{left:15px}.hero-ornament--bottom-right,.hero-ornament--top-right{right:15px}.hero-ornament--bottom-left,.hero-ornament--bottom-right{bottom:15px}.countdown-item{min-width:60px;padding:var(--space-sm) var(--space-md)}.countdown-number{font-size:1.5rem}.hero-actions{align-items:center;flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;max-width:280px;width:100%}.quote-text{font-size:1.2rem}}@media (max-width:480px){.hero-name-ampersand{display:block;margin:var(--space-sm) 0}.hero-ornament{display:none}.countdown-container{gap:4px}.countdown-item{min-width:50px;padding:var(--space-sm)}.countdown-number{font-size:1.2rem}.countdown-label{font-size:.6rem}}