*{margin:0;padding:0;box-sizing:border-box}body{font-family:Source Sans Pro,sans-serif;line-height:1.6;color:#2c3e50;scroll-behavior:smooth;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-size:100px 100px;opacity:.4;z-index:-1;pointer-events:none}h1,h2,h3{font-family:Playfair Display,serif}.container{max-width:1200px;margin:0 auto;padding:0 20px}:root{--coral: #f8ad9d;--sunset-orange: #ff9a56;--sky-blue: #89c2d9;--periwinkle: #3b393e;--sage-green: #9caf88;--cream: #fef7f0;--soft-pink: #ffb3ba;--lavender: #e6e6fa;--text-dark: #2c3e50;--text-light: #ffffff}.page{min-height:100vh;padding-top:calc(105px - 1rem);display:flex;flex-direction:column}.page-content{flex:1;background:linear-gradient(135deg,#fef7f0,#f8f4f0,#fef7f0);opacity:1;transition:opacity .5s ease-in-out}.page-content.background-loaded{background-size:cover;background-repeat:no-repeat;background-position:center;opacity:1}.full-page-loader{position:fixed;top:0;left:0;width:100vw;height:100vh;background:linear-gradient(135deg,#fef7f0,#f8f4f0,#fef7f0);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;color:var(--coral)}.loader-spinner{width:40px;height:40px;border:3px solid rgba(248,173,157,.3);border-top:3px solid var(--coral);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.content-wrapper{transition:opacity .5s ease-in-out}.content-wrapper.fade-out{opacity:.3}.content-wrapper.fade-in{opacity:1}.section{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:3rem;border-radius:20px;box-shadow:0 8px 32px #0000001a}.section.countdown,.section.cta{margin:0rem;border-radius:0;padding:3rem 0}@media (max-width: 1380px){.section{margin:2rem}}@media (max-width: 430px){.section{margin:0rem}}.section-title{text-align:center;font-size:clamp(2rem,6vw,2.5rem);margin-bottom:3rem;color:var(--coral);position:relative}.section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:3px;background:var(--sky-blue);border-radius:2px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.navbar{position:fixed;top:0;width:100%;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.nav-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;flex-wrap:wrap}.logo{display:flex;align-items:center;text-decoration:none;border:none}.logo-monogram{height:90px;width:auto;color:var(--text-dark)}.nav-menu{display:flex;list-style:none;gap:2rem;flex-wrap:wrap;align-items:center}.nav-menu li{display:flex;align-items:center}.desktop-nav{display:flex}.mobile-nav{display:none}.nav-link{text-decoration:none;color:var(--text-dark);font-weight:400;transition:color .3s ease;padding:.5rem 1rem;border-radius:20px;transition:all .3s ease}.nav-link:hover,.nav-link.active{color:var(--coral);background:#ff7f7f1a}.more-dropdown{position:relative}.more-toggle{background:none;border:none;cursor:pointer;font-size:inherit;font-family:inherit;text-decoration:none;color:var(--text-dark);font-weight:400;transition:all .3s ease;padding:.5rem 1rem;border-radius:20px;display:flex;align-items:center;gap:.2rem}.more-toggle svg{font-size:1.2em;transition:transform .2s ease}.more-dropdown.open .more-toggle svg{transform:rotate(180deg)}.more-toggle:hover{color:var(--coral);background:#ff7f7f1a}.more-dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 5px 15px #0000001a;z-index:1000;min-width:180px;margin-top:5px}.dropdown-link{display:block;padding:.8rem 1rem;text-decoration:none;color:var(--text-dark);transition:background .2s ease;font-size:.9rem}.dropdown-link:hover{background:#f5f5f5;color:var(--coral)}.dropdown-link.active{background:#f0f0f0;color:var(--coral);font-weight:600}.dropdown-link:first-child{border-radius:8px 8px 0 0}.dropdown-link:last-child{border-radius:0 0 8px 8px}.nav-controls{display:flex;align-items:center;gap:1rem}.language-dropdown{position:relative}.language-toggle{background:#f0f0f0;color:var(--text-dark);padding:.5rem 1rem;border-radius:20px;cursor:pointer;transition:all .3s ease;border:1px solid #ddd;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.3rem}.language-toggle:hover{background:var(--coral);color:#fff;border-color:var(--coral)}.language-dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 5px 15px #0000001a;z-index:1000;min-width:120px;margin-top:5px}.language-option{display:block;width:100%;padding:.7rem 1rem;border:none;background:none;text-align:left;cursor:pointer;transition:background .2s ease;font-size:.9rem;color:var(--text-dark)}.language-option:hover{background:#f5f5f5}.language-option.active{background:#f0f0f0;font-weight:600;color:var(--coral)}.language-option:first-child{border-radius:8px 8px 0 0}.language-option:last-child{border-radius:0 0 8px 8px}.mobile-menu-toggle{display:none;background:none;border:none;font-size:3rem;color:var(--text-dark);cursor:pointer;padding-bottom:.5rem}@media (max-width: 1175px){.nav-container{flex-direction:row;justify-content:space-between}.desktop-nav,.mobile-nav{display:none}.mobile-nav.mobile-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#fff;padding:1rem;box-shadow:0 5px 20px #0000001a;gap:1rem}.mobile-menu-toggle{display:block}.nav-controls{order:2}.language-toggle{padding:.4rem .8rem;font-size:.9rem}}.footer{background:var(--text-dark);color:#fff;text-align:center;padding:3rem 0}.footer p{font-size:1.1rem;margin-bottom:1rem}.footer .heart{color:var(--coral);font-size:1.2rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--sky-blue) 0%,var(--coral) 100%);z-index:-2}.login-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:-1}.login-content{width:100%;max-width:550px;z-index:1}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:3.5rem;box-shadow:0 20px 40px #0000001a;border:1px solid rgba(255,255,255,.2);text-align:center}.login-header{margin-bottom:2.5rem}.login-monogram{margin-bottom:1.5rem}.login-logo{height:90px;width:auto;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.welcome-text{color:var(--text-dark);font-size:1rem;margin-bottom:.5rem;font-weight:300}.couple-names{font-size:clamp(1.6rem,4vw,2.2rem);color:var(--text-dark);margin-bottom:.5rem;font-weight:400;line-height:1.3;display:flex;flex-direction:column;align-items:center;gap:.2rem}.bride-name,.groom-name{display:block}.ampersand{color:var(--coral);font-family:serif;font-weight:300}.wedding-website-text{color:var(--sky-blue);font-size:1.1rem;font-weight:400;margin-bottom:.5rem}.login-subtitle{color:var(--coral);font-size:1.1rem;font-weight:300;margin:0}.login-form{margin-bottom:2rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-dark);font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:1rem 3rem 1rem 1rem;border:2px solid rgba(0,0,0,.1);border-radius:10px;font-size:1rem;transition:all .3s ease;background:#fffc;box-sizing:border-box}.password-toggle{position:absolute;right:1rem;background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.2rem;border-radius:4px;transition:all .2s ease;z-index:2}.password-toggle:hover{background:#0000000d}.form-group input:focus{outline:none;border-color:var(--coral);background:#fff;box-shadow:0 0 0 3px #ff6b6b1a}.form-group input.error{border-color:#e74c3c;background:#e74c3c0d}.error-message{color:#e74c3c;font-size:.8rem;margin-top:.5rem;display:block}.login-button{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,var(--coral) 0%,#ff8a80 100%);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ff6b6b4d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer{color:var(--text-light);font-size:.9rem}.login-footer p{margin:0}@media (min-width: 1024px){.login-content{max-width:50%}.login-card{padding:4rem}.login-logo{height:100px}.couple-names{font-size:2.4rem}.welcome-text,.wedding-website-text{font-size:1.1rem}.login-subtitle{font-size:1.2rem}.form-group input{padding:1.2rem 3.2rem 1.2rem 1.2rem;font-size:1.1rem}.password-toggle{right:1.2rem;font-size:1.3rem}.login-button{padding:1.2rem 2rem;font-size:1.2rem}}@media (max-width: 768px){.login-container{padding:1rem}.login-content{max-width:100%}.login-card{padding:2rem 1.5rem}.login-logo{height:60px}.couple-names{font-size:clamp(1.4rem,5vw,1.8rem);gap:.1rem}.welcome-text,.wedding-website-text{font-size:.9rem}.login-subtitle{font-size:1rem}.form-group input{padding:.8rem 2.8rem .8rem .8rem;font-size:.9rem}.password-toggle{right:.8rem;font-size:1.1rem}.login-button{padding:.8rem 1.5rem;font-size:1rem}}@media (max-width: 480px){.login-card{padding:1.5rem 1rem}.couple-names{font-size:clamp(1.2rem,6vw,1.6rem)}}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sky-blue) 0%,var(--coral) 100%);color:var(--text-dark);font-size:1.2rem}.home-page{padding-top:0!important}.hero-carousel{height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;top:0;z-index:1}.carousel-container{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.carousel-track{display:flex;width:1200%;height:100%;animation:scrollRightToLeft 120s linear infinite}.carousel-slide{flex:0 0 calc(100% / 12);height:100%;position:relative}.carousel-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.7);transition:filter .7s ease}.hero-content-overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;display:flex;align-items:center;justify-content:center;background:#0003}@keyframes scrollRightToLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}.hero-content{text-align:center;color:#fff;max-width:800px;padding:2rem}.hero-text{animation:fadeInUp 1.5s ease-out}.bride-name,.groom-name{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:300;margin:.5rem 0;text-shadow:2px 2px 4px rgba(0,0,0,.5);letter-spacing:2px}.home-ampersand{font-size:clamp(3rem,8vw,6rem);font-family:serif;color:var(--coral);margin:1rem 0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.wedding-date{font-size:2rem;margin:2rem 0 1rem;color:var(--sky-blue);font-weight:300;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.scroll-arrow{width:2px;height:30px;background:#fff;margin:0 auto 10px;position:relative}.scroll-arrow:after{content:"";position:absolute;bottom:0;left:-5px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid white}.venue-parallax{padding:5rem 2rem;background:linear-gradient(to bottom,#f8f9fa,#fff,#f8f9fa);position:relative;perspective:1000px}.venue-header{text-align:center;margin-bottom:4rem}.section-title{font-size:clamp(2.5rem,5vw,4rem);color:var(--text-dark);margin:1rem 0;font-weight:300;transition:all .8s ease}.section-title.slide-up{opacity:1;transform:translateY(0)}.section-subtitle{font-size:1.3rem;color:var(--text-light);font-weight:300;opacity:0;transform:translateY(30px);transition:all .8s ease .2s}.section-subtitle.slide-up.delay-1{opacity:1;transform:translateY(0)}.venue-gallery-parallax{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem;max-width:1200px;margin:0 auto}.venue-card{opacity:0;transform:translateY(100px) scale(.8);transition:all .8s ease;transform-style:preserve-3d}.venue-card.reveal-0{animation:revealCard 1s ease .2s forwards}.venue-card.reveal-1{animation:revealCard 1s ease .4s forwards}.venue-image-container{position:relative;border-radius:20px;overflow:hidden;height:300px;box-shadow:0 15px 35px #0000001a;transition:transform .5s ease,box-shadow .5s ease;transform-style:preserve-3d}.venue-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.venue-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:2rem;transform:translateY(0);transition:transform .3s ease}.venue-overlay h4{font-size:1.5rem;margin:0;font-weight:300}.section.countdown{background:linear-gradient(135deg,var(--sky-blue) 0%,var(--coral) 100%);color:#fff}.section.countdown h2{margin-bottom:2rem}.countdown{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.countdown-item{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:2rem 1rem;border:1px solid rgba(255,255,255,.2);transition:transform .3s ease,box-shadow .3s ease;transform-style:preserve-3d;min-width:100px}.countdown-item:hover{transform:translateY(-10px) scale(1.05) rotateX(5deg);box-shadow:0 20px 40px #0000004d}.countdown-item .number{display:block;font-size:2.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);transform:translateZ(20px);line-height:1}.countdown-item .label{display:block;font-size:.9rem;color:#ffffffe6;text-transform:uppercase;letter-spacing:1px;margin-top:.5rem}.section.cta{background:linear-gradient(135deg,var(--coral) 0%,#ff8a80 100%);color:#fff}.section.cta h2{margin-bottom:1rem}.cta-button{background:var(--sky-blue);color:#fff;padding:1rem 2rem;border:none;border-radius:50px;font-size:1.1rem;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;font-weight:600;min-width:220px}@keyframes revealCard{to{opacity:1;transform:translateY(0) scale(1) rotateY(0)}}@media (max-width: 1175px){.venue-gallery-parallax{grid-template-columns:1fr;gap:2rem}.countdown{gap:1rem}.countdown-item{padding:1rem;min-width:80px;flex:0 0 calc(50% - .5rem)}.countdown-item .number{font-size:2rem}.countdown-item:hover{transform:translateY(-5px) scale(1.02) rotateX(2deg)}}@media (max-width: 768px){.carousel-track{animation:scrollRightToLeft 120s linear infinite}.carousel-slide{flex:0 0 calc(100% / 12)}}@media (max-width: 480px){.hero-content{padding:1.5rem}.section{padding:3rem 0}.carousel-track{animation:scrollRightToLeft 120s linear infinite}.carousel-slide{flex:0 0 calc(100% / 12)}}.details{background:#f8f9fa}.main-title{font-size:clamp(2.5rem,6vw,4rem);color:var(--coral);text-align:center;margin-bottom:3rem;font-weight:300}.details-card-section{margin-bottom:4rem;max-width:1000px;width:100%}.section-subheader{font-size:2rem;color:var(--sky-blue);text-align:center;margin-bottom:2rem;font-weight:400}.details-card{background:#ffffffe6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;max-width:1000px;margin:0 auto;border:1px solid rgba(255,255,255,.2);display:flex;height:320px;flex-direction:row;transition:transform .3s ease,box-shadow .3s ease}@media (max-width: 1100px){.details-card{height:auto}.details-card .card-image img{height:312px}}.details-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.card-image{flex:1;min-height:300px}.card-image img{width:100%;height:100%;object-fit:cover}.card-content{flex:1;padding:2.5rem;display:flex;flex-direction:column;justify-content:center}.venue-title{font-size:1.8rem;color:var(--coral);margin-bottom:1rem;font-weight:400}.venue-description{font-size:1.1rem;color:var(--text-dark);line-height:1.6;margin-bottom:1rem}.directions-button{background:var(--sky-blue);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:25px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;align-self:flex-start;margin-top:1rem;min-width:220px}.directions-button:hover{background:var(--coral);transform:translateY(-2px);box-shadow:0 5px 15px #ff7f7f4d}@media (max-width: 768px){.details-card{flex-direction:column}.card-image{min-height:200px}.card-content{padding:2rem}.venue-title{font-size:1.5rem}.venue-description{font-size:1rem}}.timeline{background:#f8f9fa}.vertical-timeline{max-width:800px;margin:0 auto;position:relative;padding:2rem 0}.timeline-date{text-align:center;font-size:1.2rem;color:var(--coral);font-weight:600;margin-bottom:2rem;margin-top:1rem}.vertical-timeline:before{display:none}.timeline-line-segment{position:absolute;left:50%;transform:translate(-50%);width:4px;background:linear-gradient(to bottom,var(--coral) 0%,var(--sky-blue) 100%);border-radius:4px;box-shadow:0 0 10px #ff9a9e4d}.timeline-line-top{top:-50px;height:50px}.timeline-line-bottom{bottom:-50px;height:50px}.timeline-event:first-child .timeline-line-top{display:none}.timeline-event:last-child .timeline-line-bottom{display:none}@keyframes shimmer{0%{box-shadow:0 0 10px #ff9a9e4d}to{box-shadow:0 0 20px #87ceeb66}}.timeline-event{display:flex;margin-bottom:3rem;position:relative}.timeline-left{width:160px;display:flex;justify-content:center;align-items:flex-start;padding-top:1rem}.timeline-time-marker{display:flex;flex-direction:column;align-items:center;position:relative;height:120px;justify-content:center}.time-text{color:var(--text-dark);font-weight:600;font-size:.9rem;margin-top:.5rem;white-space:nowrap;text-align:center}.emoji-node{width:50px;height:50px;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:50%;border:3px solid white;box-shadow:0 4px 15px #0000001a,0 0 0 4px #ff9a9e33;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.emoji-node:hover{transform:scale(1.1);box-shadow:0 6px 20px #00000026,0 0 0 6px #ff9a9e4d}.node-emoji{font-size:1.5rem}@keyframes pulse-node{0%,to{box-shadow:0 4px 15px #0000001a,0 0 0 4px #ff9a9e33}50%{box-shadow:0 4px 15px #0000001a,0 0 0 4px #87ceeb4d}}@keyframes bounce-emoji{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-1px)}}.timeline-right{flex:1;padding-left:2rem}.event-card{background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:1.5rem;border-radius:20px;box-shadow:0 8px 25px #0000001a;border:1px solid rgba(255,255,255,.3);transition:all .3s ease;position:relative;text-align:left}.event-card:hover{transform:translateY(-2px);box-shadow:0 12px 35px #00000026}.event-card:before{content:"";position:absolute;left:-10px;top:2rem;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid rgba(255,255,255,.95)}.event-title{color:var(--coral);margin-bottom:1rem;font-size:1.4rem;font-weight:600}.event-description{color:var(--text-dark);line-height:1.6;font-size:1rem}@media (max-width: 768px){.vertical-timeline:before{left:40px}.timeline-left{width:80px}.time-text{font-size:.8rem;padding:.6rem .8rem}.emoji-node{width:40px;height:40px}.node-emoji{font-size:1.2rem}.timeline-right{padding-left:1.5rem}.event-card{padding:1.5rem}.event-card:before{left:-8px;border-right-width:8px}}@media (max-width: 480px){.vertical-timeline{padding:1rem 0}.vertical-timeline:before{left:30px}.timeline-left{width:60px}.time-text{font-size:.7rem;padding:.5rem .6rem}.emoji-node{width:35px;height:35px}.node-emoji{font-size:1rem}.timeline-right{padding-left:1rem}.event-card{padding:1.2rem}.event-title{font-size:1.2rem}.event-description{font-size:.9rem}}.our-story{background:#fff}.section.our-story{padding-bottom:3rem}.story-section{text-align:left;max-width:800px;margin:0 auto 2rem 0}.story-title{color:var(--coral);font-size:1.6rem;margin-bottom:.75rem;font-weight:500}.story-text{color:var(--text-dark);line-height:1.7}.placeholder-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-dark);text-align:center;font-weight:600}@media (max-width: 768px){.story-section{margin:0 0 1.5rem;padding:0 1rem}}.faq{background:#f8f9fa;color:var(--text-dark)}.faq .section-title:after{background:var(--sky-blue)}.faq-container{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2rem;max-width:1000px;margin-left:auto;margin-right:auto;padding-bottom:2rem}.faq-item{background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:20px;box-shadow:0 8px 25px #0000001a;border:1px solid rgba(255,255,255,.3);transition:all .3s ease;display:flex;flex-direction:column;flex:0 1 calc(100% - 17rem);min-width:300px}.faq-item:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.faq-question{padding:2rem 2rem 1rem;font-weight:600;font-size:1.2rem;color:var(--coral);line-height:1.4;text-align:left}.faq-answer{padding:0 2rem 2rem;line-height:1.6;color:var(--text-dark);font-size:1rem;flex-grow:1;text-align:left}.faq-container:has(.faq-item:nth-child(odd):last-child) .faq-item:last-child{margin:0 auto}.faq-item:nth-child(odd):last-child{margin-left:auto;margin-right:auto}@media (max-width: 768px){.faq-container{flex-direction:column;gap:1.5rem;padding:0 1rem}.faq-item{flex:1 1 100%;min-width:unset}.faq-question{font-size:1.1rem;padding:1.5rem 1.5rem 1rem}.faq-answer{font-size:.95rem;padding:0 1.5rem 1.5rem}}.accommodations{background:#f8f9fa}.accommodations-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:2rem;max-width:1000px;margin-left:auto;margin-right:auto}.accommodation-card{background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:20px;padding:2rem;box-shadow:0 8px 25px #0000001a;border:1px solid rgba(255,255,255,.3);transition:all .3s ease;display:flex;flex-direction:column;flex:0 1 calc(50% - 1rem);min-width:300px}.accommodation-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.hotel-title{color:var(--coral);margin-bottom:1rem;font-size:1.6rem;font-weight:400}.hotel-description{color:var(--text-dark);line-height:1.6;margin-bottom:1.5rem;font-size:1rem;flex-grow:1}.hotel-details{margin-bottom:1.5rem}.hotel-address,.hotel-phone{color:var(--text-dark);margin-bottom:.5rem;font-size:.95rem;line-height:1.4}.hotel-address strong,.hotel-phone strong{color:var(--sky-blue);font-weight:600}.book-button{background:var(--sky-blue);color:#fff;padding:.8rem 1.5rem;border:none;border-radius:25px;text-decoration:none;font-weight:500;transition:all .3s ease;display:inline-block;text-align:center;align-self:center;min-width:220px}.book-button:hover{background:var(--coral);transform:translateY(-2px);box-shadow:0 5px 15px #ff7f7f4d}@media (max-width: 768px){.accommodations-grid{flex-direction:column;gap:1.5rem;padding:0 1rem}.accommodation-card{flex:1 1 100%;min-width:unset;padding:1.5rem}.hotel-title{font-size:1.4rem}.hotel-description{font-size:.95rem}.hotel-address,.hotel-phone{font-size:.9rem}}.rsvp{background:#fff;color:var(--text-dark)}.rsvp .section-title:after{background:var(--sky-blue)}.section.rsvp{padding-bottom:3rem}.coming-soon{max-width:600px;margin:0 auto;background:#ffffffe6;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:1rem 2rem;border-radius:20px;text-align:center;box-shadow:0 10px 30px #0000001a;border:1px solid rgba(255,255,255,.2)}.coming-soon .icon{font-size:10rem;line-height:1.3}.coming-soon h3{font-size:2rem;margin-bottom:1rem;color:var(--coral)}.coming-soon p{font-size:1.2rem;line-height:1.6;margin-bottom:1.5rem;color:var(--text-dark)}.registry{background:#f8f9fa;padding:4rem 0}.registry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem;align-items:stretch}.registry-grid .registry-card:nth-child(odd):last-child{grid-column:1 / -1;justify-self:center;width:calc(50% - 1rem)}.registry-card{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 10px 30px #0000001a;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.registry-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.registry-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.registry-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.8rem;color:#fff}.venmo-icon{background:#3d95ce}.zelle-icon{background:#6d1ed4}.amazon-icon{background:#f90}.target-icon{background:#c00}.registry-header h3{margin:0;color:var(--text-dark);font-size:1.5rem}.registry-content{flex:1;display:flex;flex-direction:column}.info-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.info-label{font-weight:600;color:var(--text-dark)}.info-value{display:flex;align-items:center;gap:1rem}.copy-btn{background:var(--coral);color:#fff;border:none;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;cursor:pointer;transition:all .3s ease}.copy-btn:hover{background:#e55a4f;transform:scale(1.05)}.registry-note{color:var(--text-light);font-size:.9rem;margin:1rem 0;font-style:italic}.registry-description{color:var(--text-light);margin-bottom:2rem;line-height:1.6;flex:1}.registry-btn{width:100%;padding:1rem 2rem;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:auto}.venmo-btn{background:#3d95ce;color:#fff}.venmo-btn:hover{background:#2980b9}.amazon-btn{background:#f90;color:#fff}.amazon-btn:hover{background:#e68900}.target-btn{background:#c00;color:#fff}.target-btn:hover{background:#b30000}.store-locations{border-top:1px solid #eee;padding-top:2rem}.store-locations h4{color:var(--text-dark);margin-bottom:1.5rem;font-size:1.2rem}.stores-list{display:flex;flex-direction:column;gap:1rem}.store-item{background:#f8f9fa;padding:1.5rem;border-radius:10px;transition:background .3s ease}.store-item:hover{background:#e9ecef}.store-info h5{margin:0 0 .5rem;color:var(--text-dark);font-size:1.1rem}.store-address{color:var(--text-light);margin:.5rem 0;font-size:.9rem}.store-contact{color:var(--coral);margin:0;font-size:.9rem;font-weight:500}.registry-thanks{background:linear-gradient(135deg,var(--coral) 0%,var(--sky-blue) 100%);color:#fff;text-align:center;padding:3rem 0}.thanks-content{max-width:600px;margin:0 auto}.thanks-title{font-size:clamp(1.8rem,4vw,2.5rem);margin:0;font-weight:300}@media (max-width: 768px){.registry{padding:3rem 0}.registry-grid{grid-template-columns:1fr;gap:1.5rem}.registry-grid .registry-card:nth-child(odd):last-child{grid-column:1;justify-self:stretch;width:100%}.registry-card{padding:1.5rem}.info-row{flex-direction:column;align-items:flex-start;gap:1rem}.info-value{width:100%;justify-content:space-between}.store-item{padding:1rem}}@media (max-width: 480px){.registry-card{padding:1rem}.registry-icon{width:50px;height:50px;font-size:1.5rem}.registry-header h3{font-size:1.3rem}}.not-found{background:#f8f9fa;min-height:60vh;display:flex;align-items:center;justify-content:center}.not-found-content{text-align:center;max-width:600px;margin:0 auto;padding:2rem}.not-found-title{font-size:clamp(4rem,12vw,8rem);font-weight:700;color:var(--coral);margin-bottom:1rem;font-family:Playfair Display,serif;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.not-found .section-title{margin-bottom:1.5rem;font-size:clamp(1.8rem,5vw,2.2rem)}.not-found-message{color:var(--text-dark);font-size:1.2rem;line-height:1.6;margin-bottom:2.5rem}.back-home-button{display:inline-block;background:var(--sky-blue);color:#fff;padding:1rem 2rem;border-radius:25px;text-decoration:none;font-weight:600;font-size:1.1rem;transition:all .3s ease;box-shadow:0 4px 15px #89c2d94d}.back-home-button:hover{background:var(--coral);transform:translateY(-2px);box-shadow:0 6px 20px #f8ad9d66}@media (max-width: 768px){.not-found-content{padding:1.5rem 1rem}.not-found-message{font-size:1.1rem;margin-bottom:2rem}.back-home-button{padding:.8rem 1.5rem;font-size:1rem}}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,#667eea,#764ba2)}.admin-login-background{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(3px)}.admin-login-overlay{position:absolute;inset:0;background:#0009}.admin-login-content{position:relative;z-index:2;width:100%;max-width:400px;padding:2rem}.admin-login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:3rem 2rem;box-shadow:0 20px 40px #0000004d;text-align:center}.admin-login-header{margin-bottom:2rem}.admin-login-icon{font-size:3rem;margin-bottom:1rem}.admin-title{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:.5rem}.admin-subtitle{color:#7f8c8d;font-size:.9rem;margin-bottom:0}.admin-login-form{width:100%}.form-group{margin-bottom:1.5rem;text-align:left}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container input{width:100%;padding:1rem 3rem 1rem 1rem;border:2px solid #e1e8ed;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff}.password-input-container input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.password-input-container input.error{border-color:#e74c3c}.password-toggle{position:absolute;right:1rem;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.5rem;border-radius:6px;transition:background-color .2s ease}.password-toggle:hover{background-color:#0000000d}.error-message{color:#e74c3c;font-size:.85rem;margin-top:.5rem;display:block}.admin-login-button{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.admin-login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.admin-login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.admin-login-content{padding:1rem}.admin-login-card{padding:2rem 1.5rem}.admin-title{font-size:1.5rem}}.admin-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:0}.admin-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:#666}.admin-header{background:#fff;box-shadow:0 2px 10px #0000001a;padding:1.5rem 0;margin-bottom:2rem}.admin-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.admin-header h1{color:#2c3e50;font-size:2rem;font-weight:700;margin:0}.admin-header-info{display:flex;align-items:center;gap:1rem}.environment-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.logout-btn{background:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.logout-btn:hover{background:#c0392b;transform:translateY(-1px)}.error-banner{background:#e74c3c;color:#fff;padding:1rem 2rem;margin:0 2rem 2rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.error-banner button:hover{background:#fff3}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto 2rem;padding:0 2rem}.stat-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 15px #0000001a;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-card h3{color:#7f8c8d;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 1rem}.stat-number{font-size:2.5rem;font-weight:700;color:#2c3e50}.stat-number.attending{color:#27ae60}.stat-number.not-attending{color:#e74c3c}.stat-number.pending{color:#f39c12}.admin-controls{max-width:1200px;margin:0 auto 2rem;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.search-filters{display:flex;gap:1rem;flex:1}.search-input,.filter-select{padding:.75rem 1rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.search-input{flex:1;max-width:300px}.search-input:focus,.filter-select:focus{outline:none;border-color:#667eea}.add-guest-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;white-space:nowrap}.add-guest-btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px #667eea4d}.guest-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.guest-form{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.guest-form h3{color:#2c3e50;margin:0 0 2rem;font-size:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.form-grid input,.form-grid select{padding:.75rem;border:2px solid #e1e8ed;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-grid input:focus,.form-grid select:focus{outline:none;border-color:#667eea}.form-checkboxes{display:flex;gap:2rem;margin-bottom:2rem}.form-checkboxes label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.form-checkboxes input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-actions{display:flex;gap:1rem;justify-content:flex-end}.cancel-btn{background:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.cancel-btn:hover{background:#7f8c8d}.save-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.save-btn:hover{transform:translateY(-1px);box-shadow:0 5px 15px #27ae604d}.guest-list{max-width:1200px;margin:0 auto;padding:0 2rem}.guest-list h3{color:#2c3e50;font-size:1.3rem;margin-bottom:1rem}.loading{text-align:center;padding:3rem;color:#7f8c8d;font-size:1.1rem}.guest-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.guest-table-header{display:grid;grid-template-columns:2fr 2fr 1.5fr 1fr 1fr 1fr 1fr 1.5fr;gap:1rem;padding:1rem;background:#f8f9fa;font-weight:600;color:#2c3e50;border-bottom:2px solid #e1e8ed}.guest-table-row{display:grid;grid-template-columns:2fr 2fr 1.5fr 1fr 1fr 1fr 1fr 1.5fr;gap:1rem;padding:1rem;border-bottom:1px solid #e1e8ed;align-items:center;transition:background-color .2s ease}.guest-table-row:hover{background:#f8f9fa}.guest-table-row:last-child{border-bottom:none}.status{padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:600;text-align:center}.status.attending{background:#d4edda;color:#155724}.status.not-attending{background:#f8d7da;color:#721c24}.status.pending{background:#fff3cd;color:#856404}.guest-actions{display:flex;gap:.5rem}.edit-btn,.delete-btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .3s ease}.edit-btn{background:#3498db;color:#fff}.edit-btn:hover{background:#2980b9;transform:translateY(-1px)}.delete-btn{background:#e74c3c;color:#fff}.delete-btn:hover{background:#c0392b;transform:translateY(-1px)}@media (max-width: 1024px){.guest-table-header,.guest-table-row{grid-template-columns:1fr;gap:.5rem}.guest-table-header{display:none}.guest-table-row{display:block;padding:1.5rem}.guest-table-row>div{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.guest-table-row>div:before{content:attr(data-label);font-weight:600;color:#7f8c8d}.guest-actions{justify-content:flex-end;padding-top:1rem}}@media (max-width: 768px){.admin-header-content{flex-direction:column;gap:1rem;text-align:center}.admin-controls{flex-direction:column;align-items:stretch}.search-filters{flex-direction:column}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.guest-form{margin:1rem;padding:1.5rem}.form-grid{grid-template-columns:1fr}.form-checkboxes{flex-direction:column;gap:1rem}}
