@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@300;400;500;600;700&family=Cormorant+Garamond:wght@300;400;500;600&family=Lato:wght@300;400;700&display=swap";.menu-toggle{position:fixed;top:32px;left:32px;z-index:1001;width:56px;height:56px;background:#2a2a2af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(200,168,130,.2);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000004d}.menu-toggle:hover{background:#2a2a2a;border-color:#c8a88280;transform:scale(1.05)}.menu-toggle-line{width:24px;height:2px;background:#f8f7f4;transition:all .3s ease}.menu-toggle.open .menu-toggle-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.open .menu-toggle-line:nth-child(2){opacity:0}.menu-toggle.open .menu-toggle-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.menu-sidebar{position:fixed;top:0;left:0;bottom:0;width:380px;max-width:85vw;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border-right:1px solid rgba(200,168,130,.2);z-index:1000;display:flex;flex-direction:column;box-shadow:4px 0 40px #00000080;overflow-y:auto}.menu-header{padding:48px 32px 32px;border-bottom:1px solid rgba(200,168,130,.15);text-align:center}.menu-logo{margin:0 auto 20px;width:80px;height:80px}.logo-svg{width:100%;height:100%;filter:drop-shadow(0 2px 10px rgba(0,0,0,.3))}.logo-text{font-family:Playfair Display,serif;font-size:32px;font-weight:300;fill:#f8f7f4;letter-spacing:4px}.menu-date{font-size:14px;color:#c8a882;letter-spacing:2px;font-weight:300;font-style:italic}.menu-list{flex:1;padding:40px 0;list-style:none}.menu-item{margin:0}.menu-link{display:flex;align-items:center;gap:20px;padding:20px 40px;width:100%;background:transparent;border:none;color:#f8f7f4;text-align:left;cursor:pointer;transition:all .3s ease;position:relative}.menu-link:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#c8a882;transform:scaleY(0);transition:transform .3s ease}.menu-link:hover:before{transform:scaleY(1)}.menu-link:hover{background:#c8a88214;padding-left:48px}.menu-link-number{font-size:12px;color:#c8a88280;font-weight:300;letter-spacing:1px;min-width:24px}.menu-link-text{font-size:18px;font-weight:300;letter-spacing:2px;font-family:Cormorant Garamond,serif}.menu-link:hover .menu-link-text{color:#c8a882}.menu-footer{padding:32px;border-top:1px solid rgba(200,168,130,.15);text-align:center}.menu-footer-text{font-size:14px;line-height:1.8;color:#f8f7f499;font-weight:300;font-style:italic;letter-spacing:1px}@media (max-width: 640px){.menu-toggle{top:24px;left:24px;width:50px;height:50px}.menu-toggle-line{width:20px}.menu-sidebar{width:100%;max-width:100%}.menu-header{padding:40px 24px 24px}.menu-logo{width:70px;height:70px}.menu-list{padding:32px 0}.menu-link{padding:18px 32px}.menu-link:hover{padding-left:40px}.menu-link-text{font-size:16px}}.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;justify-content:center;background-image:url(https://images.pexels.com/photos/1643402/pexels-photo-1643402.jpeg?auto=compress&cs=tinysrgb&w=1920);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,#0003,#00000080);z-index:1}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.3) 100%);z-index:1}.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:48px;max-width:1000px;margin:0 auto}.hero-monogram{margin-bottom:40px}.monogram-svg{width:120px;height:120px;filter:drop-shadow(0 4px 20px rgba(0,0,0,.3))}.monogram-text{font-family:Playfair Display,serif;font-size:60px;font-weight:300;fill:#fff;letter-spacing:8px}.hero-title{font-size:clamp(48px,8vw,90px);font-weight:300;margin-bottom:48px;letter-spacing:16px;text-shadow:0 4px 20px rgba(0,0,0,.5);text-transform:uppercase;font-family:Cormorant Garamond,serif;color:#fff}.hero-divider{margin:48px auto;display:flex;align-items:center;justify-content:center;max-width:300px;position:relative}.hero-divider:before,.hero-divider:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,rgba(255,255,255,.6),transparent)}.leaf-icon{font-size:28px;margin:0 24px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));color:#fff}.hero-details{margin-bottom:60px}.hero-date{font-size:clamp(26px,4vw,42px);font-weight:300;letter-spacing:4px;margin-bottom:20px;text-shadow:0 2px 12px rgba(0,0,0,.5);font-family:Playfair Display,serif;font-style:italic}.hero-location{font-size:clamp(16px,2.5vw,20px);font-weight:300;letter-spacing:3px;opacity:.95;text-shadow:0 2px 8px rgba(0,0,0,.5);line-height:1.8;text-transform:uppercase;font-size:clamp(14px,2vw,16px)}.scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:12px;animation:float 3s ease-in-out infinite}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.6),transparent)}.scroll-text{font-size:12px;letter-spacing:3px;text-transform:uppercase;opacity:.8;font-weight:300}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@media (max-width: 768px){.hero{min-height:600px}.hero-content{padding:32px 24px}.monogram-svg{width:90px;height:90px}.monogram-text{font-size:45px}.hero-title{letter-spacing:8px}.hero-date,.hero-location{letter-spacing:2px}.scroll-line{height:40px}}.our-story{padding:140px 24px;background:linear-gradient(135deg,#f5f3f0,#e8e6e3);position:relative;overflow:hidden}.our-story:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 30%,rgba(200,168,130,.05) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(139,115,85,.05) 0%,transparent 50%);pointer-events:none}.story-container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.story-header{text-align:center;margin-bottom:100px}.story-title{font-size:clamp(42px,6vw,72px);color:#2a2a2a;font-weight:300;letter-spacing:6px;margin-bottom:24px;font-family:Cormorant Garamond,serif}.story-subtitle{font-size:clamp(16px,2vw,20px);color:#8b7355;font-weight:300;letter-spacing:2px;font-style:italic}.timeline{position:relative;max-width:900px;margin:0 auto}.timeline-line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,transparent,rgba(200,168,130,.3) 10%,rgba(200,168,130,.3) 90%,transparent);transform:translate(-50%)}.timeline-item{position:relative;margin-bottom:80px;display:flex;align-items:center}.timeline-item.left{justify-content:flex-end}.timeline-item.right{justify-content:flex-start}.timeline-content{width:42%;padding:40px;background:#fff;box-shadow:0 8px 32px #00000014;position:relative;transition:all .4s ease}.timeline-content:hover{box-shadow:0 12px 48px #0000001f;transform:translateY(-4px)}.timeline-item.left .timeline-content{text-align:right;margin-right:calc(8% + 30px)}.timeline-item.right .timeline-content{text-align:left;margin-left:calc(8% + 30px)}.timeline-icon{font-size:48px;margin-bottom:20px;filter:grayscale(20%)}.timeline-year{font-size:14px;color:#c8a882;letter-spacing:3px;text-transform:uppercase;font-weight:500;margin-bottom:12px}.timeline-title{font-size:clamp(24px,3vw,32px);color:#2a2a2a;font-weight:400;margin-bottom:16px;font-family:Playfair Display,serif;letter-spacing:1px}.timeline-description{font-size:16px;line-height:1.8;color:#5a5a5a;font-weight:300}.timeline-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;background:#fff;border:3px solid #c8a882;border-radius:50%;z-index:2;box-shadow:0 0 0 6px #c8a8821a}@media (max-width: 968px){.our-story{padding:100px 24px}.timeline-line{left:30px}.timeline-item{justify-content:flex-start!important;margin-bottom:60px}.timeline-content{width:calc(100% - 80px);text-align:left!important;padding:32px;margin-left:80px!important;margin-right:0!important}.timeline-dot{left:30px}.story-header{margin-bottom:80px}}@media (max-width: 640px){.our-story{padding:80px 16px}.timeline-content{width:calc(100% - 60px);padding:24px;margin-left:60px!important}.timeline-icon{font-size:36px}.timeline-title{margin-bottom:12px}.timeline-description{font-size:15px}}.location{padding:140px 24px;background:#fff;position:relative}.location-container{max-width:1400px;margin:0 auto}.location-header{text-align:center;margin-bottom:80px}.location-title{font-size:clamp(42px,6vw,72px);color:#2a2a2a;font-weight:300;letter-spacing:6px;margin-bottom:24px;font-family:Cormorant Garamond,serif}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.location-details{display:flex;flex-direction:column;gap:32px}.detail-card{padding:36px;background:linear-gradient(135deg,#f8f7f4,#f0eeeb);transition:all .4s ease;border-left:3px solid transparent}.detail-card:hover{border-left-color:#c8a882;transform:translate(8px);box-shadow:0 8px 32px #0000000f}.detail-icon{font-size:42px;margin-bottom:20px;filter:grayscale(20%)}.detail-title{font-size:14px;color:#c8a882;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px;font-weight:500;font-family:Lato,sans-serif}.venue-name{font-size:clamp(24px,3vw,30px);color:#2a2a2a;font-weight:400;margin-bottom:12px;letter-spacing:1px;font-family:Playfair Display,serif}.venue-address,.venue-time{font-size:16px;line-height:1.9;color:#5a5a5a;font-weight:300}.venue-time strong{color:#2a2a2a;font-weight:400}.directions-btn{display:inline-flex;align-items:center;gap:16px;padding:20px 48px;background:#2a2a2a;color:#f8f7f4;font-size:14px;font-weight:400;letter-spacing:2px;text-transform:uppercase;transition:all .4s ease;margin-top:16px;align-self:flex-start;position:relative;overflow:hidden}.directions-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:#c8a88233;transition:left .4s ease}.directions-btn:hover:before{left:100%}.directions-btn:hover{background:#c8a882;color:#fff}.directions-btn .arrow{transition:transform .4s ease}.directions-btn:hover .arrow{transform:translate(8px)}.map-wrapper{position:relative}.map-container{position:relative;overflow:hidden;box-shadow:0 16px 64px #00000026;border:8px solid #f8f7f4}.map-container:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,#c8a882,#8b7355);z-index:-1}.map{width:100%;height:600px;background:#e8e8e8;display:flex;align-items:center;justify-content:center;color:#5a5a5a;font-size:16px}@media (max-width: 1024px){.location-content{grid-template-columns:1fr;gap:60px}.map{height:500px}}@media (max-width: 768px){.location{padding:100px 24px}.location-header{margin-bottom:60px}.detail-card{padding:28px}.detail-icon{font-size:36px}.directions-btn{width:100%;justify-content:center}.map{height:400px}}@media (max-width: 640px){.location{padding:80px 16px}.detail-card{padding:24px}.map{height:350px}}.bridal-party{padding:140px 24px;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);position:relative;overflow:hidden}.bridal-party:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 10% 20%,rgba(200,168,130,.03) 0%,transparent 50%),radial-gradient(circle at 90% 80%,rgba(200,168,130,.03) 0%,transparent 50%);pointer-events:none}.bridal-party-container{max-width:1400px;margin:0 auto;position:relative;z-index:1}.party-header{text-align:center;margin-bottom:80px}.party-title{font-size:clamp(42px,6vw,72px);color:#f8f7f4;font-weight:300;letter-spacing:6px;margin-bottom:24px;font-family:Cormorant Garamond,serif}.section-subtitle{font-size:clamp(16px,2vw,20px);color:#c8a882;font-weight:300;letter-spacing:2px;font-style:italic}.couple-section{margin-bottom:80px}.couple-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;max-width:900px;margin:0 auto}.couple-member{position:relative}.couple-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1);border:2px solid rgba(200,168,130,.3);position:relative}.couple-member.bride .couple-card{border-bottom:4px solid #c8a882}.couple-member.groom .couple-card{border-bottom:4px solid #8b7355}.couple-card:hover{transform:translateY(-12px);box-shadow:0 24px 72px #c8a88233;border-color:#c8a88280}.couple-image-wrapper{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden}.couple-image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1);filter:grayscale(20%)}.couple-card:hover .couple-image{transform:scale(1.08);filter:grayscale(0%)}.couple-info{padding:40px 32px;text-align:center;background:linear-gradient(135deg,#2a2a2afa,#1a1a1afa)}.couple-name{font-size:clamp(28px,3vw,38px);color:#f8f7f4;font-weight:300;margin-bottom:12px;letter-spacing:3px;font-family:Playfair Display,serif}.couple-role{font-size:14px;color:#c8a882;font-weight:400;letter-spacing:4px;text-transform:uppercase}.party-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:28px}.party-member{position:relative;display:flex}.party-member.bride .member-card{border-bottom:3px solid #c8a882}.party-member.groom .member-card{border-bottom:3px solid #8b7355}.member-card{background:#ffffff08;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;transition:all .5s cubic-bezier(.4,0,.2,1);border:1px solid rgba(200,168,130,.1);position:relative;display:flex;flex-direction:column;width:100%}.member-card:hover{transform:translateY(-12px);box-shadow:0 20px 60px #0006;border-color:#c8a8824d}.member-image-wrapper{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden}.member-image{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1);filter:grayscale(30%)}.member-card:hover .member-image{transform:scale(1.1);filter:grayscale(0%)}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.2) 50%,rgba(0,0,0,.6) 100%);transition:opacity .5s ease}.member-card:hover .image-overlay{opacity:.7}.member-info{padding:32px 24px;text-align:center;background:linear-gradient(135deg,#2a2a2af2,#1a1a1af2);display:flex;flex-direction:column;justify-content:center;flex:1}.member-name{font-size:clamp(20px,2.5vw,28px);color:#f8f7f4;font-weight:300;margin-bottom:8px;letter-spacing:2px;font-family:Playfair Display,serif}.member-role{font-size:13px;color:#c8a882;font-weight:400;letter-spacing:3px;text-transform:uppercase}@media (max-width: 1200px){.party-grid{grid-template-columns:repeat(3,1fr);gap:24px}}@media (max-width: 1024px){.bridal-party{padding:100px 24px}.couple-grid{max-width:700px;gap:32px}.party-grid{grid-template-columns:repeat(2,1fr);gap:28px}.party-header,.couple-section{margin-bottom:60px}}@media (max-width: 640px){.bridal-party{padding:80px 16px}.couple-grid,.party-grid{grid-template-columns:1fr;gap:24px}.party-header,.couple-section{margin-bottom:50px}.member-info{padding:24px 20px}.couple-info{padding:32px 24px}}.rsvp-title{font-size:clamp(42px,6vw,72px);color:#2a2a2a;font-weight:300;letter-spacing:6px;margin-bottom:24px;font-family:Cormorant Garamond,serif}.rsvp{padding:140px 24px;background:#fff;position:relative}.rsvp-container{max-width:800px;margin:0 auto}.rsvp-header{text-align:center;margin-bottom:80px}.rsvp-content{background:linear-gradient(135deg,#f8f7f4,#f0eeeb);padding:60px 48px;box-shadow:0 8px 40px #0000001a}.search-label{display:block;font-size:18px;color:#2a2a2a;font-weight:400;letter-spacing:1px;margin-bottom:16px;font-family:Playfair Display,serif}.search-wrapper{position:relative}.search-input{width:100%;padding:18px 24px;font-size:16px;border:2px solid rgba(200,168,130,.3);background:#fff;color:#2a2a2a;font-family:Lato,sans-serif;transition:all .3s ease}.search-input:focus{outline:none;border-color:#c8a882;box-shadow:0 0 0 4px #c8a8821a}.search-input:disabled{background:#f0f0f0;cursor:not-allowed}.suggestions-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid rgba(200,168,130,.3);border-top:none;max-height:300px;overflow-y:auto;z-index:10;box-shadow:0 8px 24px #0000001a}.suggestion-item{width:100%;padding:16px 24px;background:transparent;border:none;border-bottom:1px solid rgba(200,168,130,.1);text-align:left;cursor:pointer;transition:background .2s ease;display:flex;justify-content:space-between;align-items:center}.suggestion-item:hover{background:#c8a8821a}.suggestion-name{font-size:16px;color:#2a2a2a;font-weight:400}.suggestion-badge{font-size:12px;color:#8b7355;background:#8b735526;padding:4px 12px;border-radius:12px;letter-spacing:1px;text-transform:uppercase}.suggestion-item.searching{justify-content:center;color:#8b7355;font-style:italic;cursor:default;background:transparent}.rsvp-form{margin-top:40px;padding-top:40px;border-top:2px solid rgba(200,168,130,.2)}.form-group{margin-bottom:32px}.form-label{display:block;font-size:15px;color:#2a2a2a;font-weight:400;letter-spacing:1px;margin-bottom:12px;font-family:Lato,sans-serif}.form-input,.form-textarea{width:100%;padding:16px 20px;font-size:15px;border:2px solid rgba(200,168,130,.3);background:#fff;color:#2a2a2a;font-family:Lato,sans-serif;transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:none;border-color:#c8a882;box-shadow:0 0 0 4px #c8a8821a}.form-textarea{resize:vertical;min-height:100px}.attendance-group{margin-bottom:40px}.attendance-buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px}.attendance-btn{padding:20px 24px;font-size:15px;font-weight:400;letter-spacing:1px;border:2px solid rgba(200,168,130,.3);background:#fff;color:#2a2a2a;cursor:pointer;transition:all .3s ease;font-family:Lato,sans-serif}.attendance-btn:hover{border-color:#c8a882;background:#c8a8820d}.attendance-btn.active{background:#c8a882;color:#fff;border-color:#c8a882}.attendance-btn.decline.active{background:#8b7355;border-color:#8b7355}.form-actions{display:flex;gap:16px;margin-top:40px}.form-btn{flex:1;padding:18px 32px;font-size:14px;font-weight:400;letter-spacing:2px;text-transform:uppercase;border:2px solid;cursor:pointer;transition:all .3s ease;font-family:Lato,sans-serif}.cancel-btn{background:transparent;color:#5a5a5a;border-color:#5a5a5a4d}.cancel-btn:hover{background:#5a5a5a0d;border-color:#5a5a5a}.submit-btn{background:#2a2a2a;color:#f8f7f4;border-color:#2a2a2a}.submit-btn:hover:not(:disabled){background:#c8a882;border-color:#c8a882;transform:translateY(-2px);box-shadow:0 4px 12px #c8a8824d}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-message{margin-top:24px;padding:20px 24px;background:#c8a88226;border-left:4px solid #c8a882;color:#2a2a2a;font-size:15px;line-height:1.6;font-weight:400}.plus-ones-section{margin-bottom:32px;padding:24px;background:#ffffff80;border:1px solid rgba(200,168,130,.2);border-radius:4px}.plus-ones-label{margin-bottom:20px;font-size:16px}.plus-ones-list{display:flex;flex-direction:column;gap:16px}.plus-one-field{display:flex;flex-direction:column;gap:8px}.plus-one-label{font-size:13px;color:#8b7355;font-weight:400;letter-spacing:1px;text-transform:uppercase;font-family:Lato,sans-serif}@media (max-width: 768px){.rsvp{padding:100px 24px}.rsvp-content{padding:40px 32px}.attendance-buttons{grid-template-columns:1fr}.form-actions{flex-direction:column}}@media (max-width: 640px){.rsvp{padding:80px 16px}.rsvp-content{padding:32px 24px}.search-input,.form-input,.form-textarea{padding:14px 16px}.attendance-btn{padding:16px 20px;font-size:14px}}.wedding-memories{padding:140px 24px;background:linear-gradient(135deg,#f8f7f4,#ebe9e6);position:relative}.memories-container{max-width:1600px;margin:0 auto}.memories-header{text-align:center;margin-bottom:80px}.memories-title{font-size:clamp(42px,6vw,72px);color:#2a2a2a;font-weight:300;letter-spacing:6px;margin-bottom:24px;font-family:Cormorant Garamond,serif}.section-subtitle{font-size:clamp(16px,2vw,20px);color:#8b7355;font-weight:300;letter-spacing:2px;font-style:italic}.memories-loading{text-align:center;padding:80px 24px;font-size:17px;color:#8b7355;font-weight:300;letter-spacing:1px}.memories-empty{text-align:center;padding:100px 24px;max-width:700px;margin:0 auto}.empty-icon{font-size:100px;margin-bottom:32px;opacity:.3;filter:grayscale(100%)}.empty-title{font-size:clamp(32px,4vw,48px);color:#2a2a2a;margin-bottom:24px;font-weight:300;letter-spacing:3px;font-family:Playfair Display,serif}.empty-message{font-size:clamp(17px,2vw,20px);line-height:1.9;color:#5a5a5a;font-weight:300}.memory-card{position:relative;overflow:hidden;cursor:pointer;transition:all .4s ease}.memory-card:hover{transform:translateY(-4px)}.memory-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 1px #0000001a;pointer-events:none}.memory-image{width:100%;height:auto;display:block;transition:transform .6s cubic-bezier(.4,0,.2,1);filter:saturate(.9)}.memory-card:hover .memory-image{transform:scale(1.08);filter:saturate(1)}.memory-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.05) 100%);opacity:0;transition:opacity .4s ease}.memory-card:hover .memory-overlay{opacity:1}.upload-btn{margin-top:32px;padding:16px 40px;background:#c8a882;color:#fff;border:2px solid #c8a882;font-size:15px;font-weight:400;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;font-family:Lato,sans-serif;display:inline-flex;align-items:center;gap:12px}.upload-btn:hover{background:transparent;color:#c8a882;transform:translateY(-2px);box-shadow:0 4px 12px #c8a8824d}.upload-icon{font-size:20px}.upload-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.upload-modal{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:90%;max-width:600px;background:#fff;padding:48px;z-index:1000;box-shadow:0 20px 80px #0000004d}.modal-close{position:absolute;top:20px;right:20px;width:36px;height:36px;background:transparent;border:none;font-size:24px;color:#5a5a5a;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#2a2a2a;transform:rotate(90deg)}.modal-close:disabled{opacity:.5;cursor:not-allowed}.modal-header{text-align:center;margin-bottom:40px}.modal-title{font-size:32px;color:#2a2a2a;font-weight:300;letter-spacing:3px;margin-bottom:12px;font-family:Playfair Display,serif}.modal-subtitle{font-size:15px;color:#8b7355;font-weight:300;letter-spacing:1px;font-style:italic}.upload-area{margin-bottom:24px}.upload-area-btn{width:100%;padding:60px 32px;background:linear-gradient(135deg,#f8f7f4,#f0eeeb);border:2px dashed rgba(200,168,130,.4);cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:16px}.upload-area-btn:hover:not(:disabled){border-color:#c8a882;background:linear-gradient(135deg,#f0eeeb,#e8e6e3)}.upload-area-btn:disabled{opacity:.6;cursor:not-allowed}.upload-area-icon{font-size:48px;opacity:.7}.upload-area-text{font-size:16px;color:#2a2a2a;font-weight:400;letter-spacing:1px;font-family:Lato,sans-serif}.upload-area-hint{font-size:13px;color:#8b7355;font-weight:300;letter-spacing:1px}.upload-message{padding:16px 24px;background:#c8a88226;border-left:4px solid #c8a882;color:#2a2a2a;font-size:14px;text-align:center;letter-spacing:1px}@media (max-width: 1024px){.wedding-memories{padding:100px 24px}.memories-header{margin-bottom:60px}}@media (max-width: 768px){.wedding-memories,.memories-empty{padding:80px 16px}.empty-icon{font-size:80px}.upload-modal{padding:32px 24px;width:95%}.modal-title{font-size:24px}.upload-area-btn{padding:40px 24px}}.registry{padding:140px 24px;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);position:relative;overflow:hidden}.registry:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 30% 40%,rgba(200,168,130,.05) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(139,115,85,.05) 0%,transparent 50%);pointer-events:none}.registry-container{max-width:900px;margin:0 auto;text-align:center;position:relative;z-index:1}.registry-content{display:flex;flex-direction:column;align-items:center;gap:40px}.registry-title{font-size:clamp(42px,6vw,64px);color:#f8f7f4;font-weight:300;letter-spacing:6px;margin-bottom:20px;font-family:Cormorant Garamond,serif}.registry-icon{font-size:80px;filter:grayscale(20%);opacity:.9;margin:20px 0}.registry-message{font-size:clamp(17px,2.5vw,20px);line-height:1.9;color:#f8f7f4cc;max-width:700px;font-weight:300;letter-spacing:.5px}.registry-btn{display:inline-flex;align-items:center;gap:20px;padding:22px 60px;background:transparent;color:#f8f7f4;font-size:14px;font-weight:400;letter-spacing:3px;text-transform:uppercase;transition:all .4s cubic-bezier(.4,0,.2,1);margin-top:20px;border:2px solid rgba(200,168,130,.5);position:relative;overflow:hidden}.registry-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(200,168,130,.2),transparent);transition:left .6s ease}.registry-btn:hover:before{left:100%}.registry-btn:hover{border-color:#c8a882;background:#c8a8821a;transform:translateY(-2px)}.btn-arrow{font-size:20px;transition:transform .4s ease}.registry-btn:hover .btn-arrow{transform:translate(6px)}@media (max-width: 768px){.registry{padding:100px 24px}.registry-icon{font-size:64px}.registry-message{padding:0 8px}.registry-btn{padding:20px 48px;font-size:13px}}@media (max-width: 640px){.registry{padding:80px 16px}.registry-btn{padding:18px 40px;width:100%;justify-content:center}}.app{min-height:100vh;display:flex;flex-direction:column}.footer{background:linear-gradient(135deg,#1a1a1a,#0a0a0a);color:#f8f7f4b3;text-align:center;padding:60px 24px 48px;margin-top:auto;border-top:1px solid rgba(200,168,130,.2);position:relative}.footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100px;height:1px;background:linear-gradient(to right,transparent,#c8a882,transparent)}.footer p{font-size:13px;letter-spacing:2px;font-weight:300;margin:0}.footer-tagline{margin-top:12px!important;font-style:italic;color:#c8a88299;font-size:12px!important;letter-spacing:3px!important}@media (max-width: 640px){.footer{padding:48px 16px 40px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Lato,sans-serif;line-height:1.7;color:#3a3a3a;background-color:#f8f7f4}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;line-height:1.3;color:#2a2a2a;font-weight:400}button{font-family:Lato,sans-serif;cursor:pointer;border:none;background:none}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}
