@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600&display=swap";.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#3e2723f2;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--white);border-radius:12px;padding:60px 50px;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .4s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-header{text-align:center;margin-bottom:40px;padding-bottom:30px;border-bottom:2px solid var(--accent-color)}.modal-names{font-size:3.5rem;color:var(--primary-color);margin-bottom:10px;font-weight:300;letter-spacing:3px}.modal-date{font-size:1.2rem;color:var(--secondary-color);font-weight:300;letter-spacing:2px}.modal-body{text-align:center}.modal-title{font-size:2.5rem;color:var(--primary-color);margin-bottom:20px;font-weight:400}.modal-text{font-size:1.1rem;color:var(--dark-color);margin-bottom:30px;opacity:.8}.guest-form{display:flex;flex-direction:column;gap:20px}.guest-input{padding:18px 24px;font-size:1.1rem;border:2px solid var(--accent-color);border-radius:8px;font-family:var(--font-body);transition:all .3s ease;background:var(--light-color)}.guest-input:focus{outline:none;border-color:var(--primary-color);background:var(--white);box-shadow:0 4px 12px #8b735526}.guest-input::placeholder{color:var(--dark-color);opacity:.4}.error-message{color:#d32f2f;font-size:.95rem;margin:15px 0;padding:12px;background:#d32f2f1a;border-radius:6px;border-left:4px solid #d32f2f}.submit-button{padding:18px 40px;font-size:1.1rem;background:var(--primary-color);color:var(--white);border-radius:8px;font-weight:500;transition:all .3s ease;letter-spacing:1px;text-transform:uppercase}.submit-button:hover{background:var(--dark-color);transform:translateY(-2px);box-shadow:0 6px 20px #3e27234d}.back-button{padding:12px 30px;font-size:.95rem;background:transparent;color:var(--primary-color);border:2px solid var(--primary-color);border-radius:8px;font-weight:500;transition:all .3s ease;cursor:pointer;letter-spacing:.5px}.back-button:hover{background:var(--primary-color);color:var(--white);transform:translateY(-2px)}.modal-welcome{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px}.welcome-title{font-size:2.8rem;color:var(--primary-color);margin:0;font-weight:400}.loading-spinner{width:50px;height:50px;border:4px solid var(--light-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-not-found{text-align:center;padding:20px}.not-found-icon{font-size:4rem;margin-bottom:25px}.not-found-title{font-size:2.5rem;color:var(--primary-color);margin-bottom:25px;font-weight:400}.not-found-text{font-size:1.1rem;color:var(--dark-color);margin-bottom:20px;line-height:1.6}.not-found-humor{font-size:1rem;color:var(--dark-color);margin-bottom:25px;padding:20px;background:var(--light-color);border-radius:8px;line-height:1.7;font-style:italic}.not-found-action{font-size:1.1rem;color:var(--primary-color);margin-bottom:25px;font-weight:500}.not-found-contact{margin-bottom:30px;padding:20px;background:var(--light-color);border-radius:8px}.not-found-contact p{font-size:.95rem;color:var(--dark-color);margin-bottom:10px}.contact-info{font-weight:500;color:var(--primary-color)}.try-again-button{padding:16px 40px;font-size:1rem;background:var(--primary-color);color:var(--white);border-radius:8px;font-weight:500;transition:all .3s ease;letter-spacing:1px;text-transform:uppercase}.try-again-button:hover{background:var(--dark-color);transform:translateY(-2px);box-shadow:0 6px 20px #3e27234d}@media (max-width: 768px){.modal-overlay{padding:15px}.modal-content{padding:40px 25px;width:100%;max-width:100%}.modal-names{font-size:2.5rem;letter-spacing:2px}.modal-date{font-size:1rem}.modal-title,.welcome-title,.not-found-title{font-size:1.8rem}.guest-input,.submit-button,.try-again-button{font-size:1rem;padding:15px 20px}.welcome-icon,.not-found-icon{font-size:3.5rem}.not-found-humor,.not-found-contact{padding:15px;font-size:.95rem}}@media (max-width: 480px){.modal-content{padding:30px 20px}.modal-names{font-size:2rem;letter-spacing:1px}.modal-title,.welcome-title,.not-found-title{font-size:1.5rem}.modal-header{margin-bottom:30px;padding-bottom:20px}}.navbar{background:var(--white);height:80px;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:999;box-shadow:0 2px 20px #0000001a;border-bottom:2px solid rgba(212,175,55,.2)}.navbar-container{max-width:1400px;width:100%;margin:0 auto;padding:0 40px;display:flex;justify-content:space-between;align-items:center}.navbar-logo{font-family:var(--font-heading);font-size:1.8rem;font-weight:600;font-style:normal;color:var(--dark-color);letter-spacing:1px;transition:color .3s ease}.navbar-logo:hover{color:var(--primary-color)}.nav-menu{display:flex;list-style:none;gap:40px;align-items:center}.nav-item{height:80px;display:flex;align-items:center}.nav-link{font-family:var(--font-body);font-size:.95rem;font-style:normal;color:var(--dark-color);font-weight:500;letter-spacing:.5px;padding:8px 0;position:relative;transition:all .3s ease;text-transform:uppercase}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .3s ease}.nav-link:hover,.nav-link.active{color:var(--primary-color)}.nav-link:hover:after,.nav-link.active:after{width:100%}.menu-icon{display:none;flex-direction:column;cursor:pointer;gap:5px}.menu-icon span{width:28px;height:3px;background:var(--primary-color);transition:all .3s ease;border-radius:2px}.menu-icon.open span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.menu-icon.open span:nth-child(2){opacity:0}.menu-icon.open span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.nav-link.admin-link{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:var(--white)!important;padding:.5rem 1.25rem;border-radius:8px;font-weight:600;transition:all .3s ease}.nav-link.admin-link:hover{background:linear-gradient(135deg,var(--secondary-color),var(--dark-color));transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.nav-link.admin-link:after{display:none}@media screen and (max-width: 968px){.navbar-container{padding:0 20px}.menu-icon{display:flex;z-index:1001}.nav-menu{position:fixed;left:-100%;top:80px;flex-direction:column;background:var(--white);width:100%;text-align:center;transition:left .3s ease;box-shadow:0 10px 27px #0000000d;padding:20px 0;gap:0;max-height:calc(100vh - 80px);overflow-y:auto;z-index:1000}.nav-menu.active{left:0}.nav-item{width:100%;height:auto;padding:15px 0;border-bottom:1px solid var(--light-color)}.nav-item:last-child{border-bottom:none}.nav-link{font-size:1.1rem;padding:15px 20px;width:100%;display:block}.nav-link:after{display:none}.nav-link.active{background:var(--light-color)}.nav-link.admin-link{margin-top:.5rem;text-align:center}}@media screen and (max-width: 480px){.navbar-logo{font-size:1.4rem}}.home{width:100%;margin:0;padding:0;background:linear-gradient(to bottom,var(--light-color) 0%,var(--lighter-color) 50%,var(--lightest-color) 100%);min-height:100vh}.hero{width:100%;display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,var(--light-color) 0%,var(--lighter-color) 50%,var(--lightest-color) 100%);margin:80px 0 0;padding:0;box-sizing:border-box;overflow:hidden}.hero-image-container{width:100%;position:relative;flex-shrink:0;aspect-ratio:16 / 9;max-height:70vh;overflow:hidden;margin:0;padding:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;animation:fadeIn 1s ease-out}@media (min-width: 1600px){.hero-image-container{max-height:60vh}}@media (max-width: 768px){.hero-image-container{aspect-ratio:4 / 3;max-height:50vh}}.hero-welcome{width:100%;padding:60px 20px 30px;text-align:center;background:linear-gradient(to bottom,var(--lighter-color),var(--lightest-color));animation:fadeInUp 1s ease-out;margin-top:0}.welcome-date{font-family:var(--font-heading);font-size:4rem;font-weight:600;color:var(--secondary-color);margin:0 0 20px;letter-spacing:1px}.welcome-message{font-family:var(--font-heading);font-size:3.5rem;font-weight:500;font-style:normal;color:var(--primary-color);margin:0 0 30px;letter-spacing:2px}.welcome-paragraph{font-family:var(--font-body);font-size:1.25rem;font-weight:400;line-height:1.8;color:var(--dark-color);max-width:700px;margin:0 auto}.section-container{max-width:1000px;margin:0 auto;padding:80px 20px}.wedding-details-section{background:transparent}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-top:50px}.detail-card{background:var(--white);padding:40px 30px;border-radius:12px;text-align:center;box-shadow:0 8px 30px #00000026;border:2px solid rgba(212,175,55,.3);position:relative;transition:all .3s ease}.detail-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #d4af374d;border-color:var(--primary-color)}.detail-card:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:60px;height:5px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:3px}.detail-icon{font-size:3rem;margin-bottom:20px;color:var(--primary-color)}.detail-card h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;font-style:normal;color:var(--dark-color);margin-bottom:15px}.detail-card p{font-family:var(--font-body);font-size:1rem;font-style:normal;color:#4a4a4a;line-height:1.6;margin-bottom:5px}.countdown-section{background:transparent;text-align:center;padding:40px 0 80px}.countdown-timer{display:flex;justify-content:center;align-items:center;gap:40px;margin:50px 0 40px;flex-wrap:wrap}.countdown-item{display:flex;flex-direction:column;align-items:center;min-width:120px}.countdown-number{font-size:4rem;font-family:var(--font-heading);font-weight:600;font-style:normal;color:var(--dark-color);line-height:1;margin-bottom:10px;min-width:100px;padding:20px;background:var(--white);border-radius:12px;box-shadow:0 8px 30px #00000026;border:2px solid rgba(212,175,55,.3)}.countdown-label{font-family:var(--font-body);font-size:1.1rem;font-style:normal;color:var(--medium-color);text-transform:uppercase;letter-spacing:2px;font-weight:500;margin-top:10px}.countdown-text{font-family:var(--font-body);font-size:1.2rem;font-style:normal;color:var(--dark-color);line-height:1.8;max-width:600px;margin:0 auto;font-style:italic}@media (max-width: 768px){.hero{min-height:auto;padding:0}.hero-welcome{padding:40px 20px}.hero-names{font-size:3rem}.hero-date{font-size:1.3rem}.hero-location{font-size:1rem}.hero-greeting{font-size:1rem;min-width:auto;padding:20px 10px}.welcome-date{font-size:2rem}.welcome-message{font-size:2.5rem}.welcome-paragraph{font-size:1.1rem}.section-container{padding:60px 20px}.details-grid{grid-template-columns:1fr;gap:20px}.detail-card{padding:30px 20px}.countdown-timer{gap:20px}.countdown-item{min-width:80px}.countdown-number{font-size:2.5rem;min-width:80px;padding:15px}.countdown-label{font-size:.9rem}.countdown-text{font-size:1rem;padding:0 20px}}@media (max-width: 480px){.hero-image-container{aspect-ratio:3 / 2;max-height:45vh}.hero-welcome{padding:30px 15px}.welcome-date{font-size:1.5rem;margin-bottom:15px}.welcome-message{font-size:1.8rem;margin-bottom:20px}.welcome-paragraph{font-size:1rem}.hero-names{font-size:2.5rem;letter-spacing:2px}.hero-divider{font-size:2rem}.hero-date{font-size:1.2rem}.countdown-timer{gap:15px}.countdown-item{min-width:70px}.countdown-number{font-size:2rem;min-width:70px;padding:10px}.countdown-label{font-size:.8rem;letter-spacing:1px}}.hotel-info-page{background:linear-gradient(to bottom,var(--lightest-color) 0%,var(--light-color) 100%)}.venue-announcement{margin-bottom:50px}.announcement-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border-radius:16px;padding:50px 40px;text-align:center;box-shadow:0 15px 50px #d4af3766;animation:fadeInUp .8s ease-out}.announcement-icon{font-size:4rem;margin-bottom:20px}.announcement-card h2{font-family:var(--font-heading);font-size:2rem;font-weight:500;color:var(--white);margin:0 0 10px;letter-spacing:1px}.announcement-card h3{font-family:var(--font-heading);font-size:3rem;font-weight:600;color:var(--white);margin:0 0 20px;letter-spacing:2px}.venue-address{font-size:1.2rem;margin:15px 0;opacity:.95}.venue-description{font-size:1.1rem;line-height:1.8;max-width:800px;margin:25px auto;opacity:.95}.venue-link{display:inline-block;margin-top:20px;padding:15px 35px;background:var(--white);color:var(--primary-color);text-decoration:none;border-radius:30px;font-weight:600;font-size:1.1rem;transition:all .3s ease;box-shadow:0 4px 15px #0003}.venue-link:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.map-container{margin:30px 0}.map-caption{text-align:center;margin-top:15px;font-size:1rem;color:var(--dark-color);font-style:italic}.section-description{text-align:center;font-size:1.1rem;color:var(--medium-color);margin-bottom:40px;max-width:700px;margin-left:auto;margin-right:auto}.hotels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:30px;margin-top:30px}.hotel-card{position:relative;background:var(--white);border-radius:16px;padding:30px;box-shadow:0 8px 30px #0000001a;border:2px solid rgba(212,175,55,.2);transition:all .3s ease;display:flex;flex-direction:column;gap:15px}.hotel-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px #d4af374d;border-color:var(--primary-color)}.venue-badge{position:absolute;top:-12px;left:20px;background:var(--primary-color);color:var(--white);padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;font-family:var(--font-body);box-shadow:0 4px 10px #d4af374d}.hotel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:10px}.hotel-header h3{margin:0;flex:1}.hotel-name-link{color:var(--dark-color);text-decoration:none;font-size:1.5rem;font-weight:600;font-family:var(--font-heading);transition:color .3s ease;display:block}.hotel-name-link:hover{color:var(--primary-color)}.hotel-meta{display:flex;align-items:center;gap:10px}.chain-name{font-size:.9rem;color:var(--medium-color);font-weight:500;font-family:var(--font-body)}.price-indicator{font-size:1.2rem;font-weight:700;color:var(--primary-color);font-family:var(--font-body);margin:0}.hotel-info{display:flex;flex-direction:column;gap:6px;margin:10px 0}.hotel-address,.hotel-distance{font-size:.95rem;color:var(--medium-color);margin:0}.hotel-description{font-size:1rem;line-height:1.6;color:var(--text-color);margin:10px 0}.hotel-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:auto;padding-top:15px;border-top:1px solid rgba(212,175,55,.2)}.book-button{display:inline-block;padding:10px 24px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:var(--white);text-decoration:none;border-radius:25px;font-weight:600;font-size:.95rem;transition:all .3s ease;box-shadow:0 4px 12px #d4af374d}.book-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #d4af3766}.info-card{background:var(--white);border-radius:12px;padding:30px;box-shadow:0 6px 20px #00000014;margin-bottom:25px;border-left:4px solid var(--primary-color)}.info-card h3{font-family:var(--font-heading);font-size:1.6rem;color:var(--primary-color);margin:0 0 20px}.info-card ul{list-style:none;padding:0;margin:0}.info-card li{padding:10px 0 10px 30px;position:relative;line-height:1.6;color:var(--text-color)}.info-card li:before{content:"✓";position:absolute;left:0;color:var(--primary-color);font-weight:700;font-size:1.2rem}.info-card p{margin:15px 0;line-height:1.7;color:var(--text-color)}@media (max-width: 768px){.hotels-grid{grid-template-columns:1fr}.announcement-card{padding:30px 20px}.announcement-card h3{font-size:2rem}.hotel-header{flex-direction:column;align-items:flex-start}.hotel-footer{flex-direction:column;align-items:stretch;gap:15px}.book-button{text-align:center}.chain-info{justify-content:center}}@media (max-width: 500px){.hotel-card{padding:20px}.hotel-name-link{font-size:1.2rem}.announcement-card h3{font-size:1.6rem}}transition: transform .3s ease,box-shadow .3s ease; text-align: center; flex: 1; min-width: 150px; } .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.btn-secondary{display:inline-block;padding:12px 24px;background:var(--white);color:var(--primary-color);text-decoration:none;border:2px solid var(--primary-color);border-radius:25px;font-weight:500;transition:all .3s ease;text-align:center;flex:1;min-width:150px}.btn-secondary:hover{background:var(--primary-color);color:var(--white);transform:translateY(-2px)}.map-container{width:100%;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.map-container iframe{display:block;width:100%}.chain-logo{width:48px;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 2px 8px #00000014;background:var(--white);padding:4px}.chain-badge-text{display:inline-block;background:var(--light-color);color:var(--text-color);padding:6px 12px;border-radius:16px;font-size:13px;font-weight:600}.price-tier{display:inline-block;background:linear-gradient(135deg,#0000000f,#00000008);color:var(--text-color);padding:6px 10px;border-radius:12px;font-weight:700;margin-left:6px;font-size:13px}.hotel-meta{display:flex;align-items:center;gap:8px}#hotel-map{width:100%;height:450px;border-radius:8px;z-index:1}.map-note{margin-top:15px;font-size:14px;color:var(--text-light);text-align:center}.custom-marker{background:transparent;border:none}.marker-pin{width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--primary-color);position:absolute;transform:rotate(-45deg);left:50%;top:50%;margin:-20px 0 0 -15px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:12px;box-shadow:0 3px 10px #0000004d}.marker-pin:after{content:"";width:8px;height:8px;margin:0 auto;background:#fff;position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%) rotate(45deg)}.venue-pin{background:var(--accent-color);font-size:16px}.venue-pin:after{display:none}.map-popup{min-width:200px}.map-popup h4{margin:0 0 8px;color:var(--primary-color);font-size:16px}.popup-distance{font-size:13px;color:var(--text-light);margin:4px 0}.popup-price{font-weight:700;font-size:14px;margin:8px 0;color:var(--accent-color)}.popup-link{display:inline-block;margin-top:8px;color:var(--primary-color);text-decoration:none;font-weight:500;font-size:14px}.popup-link:hover{text-decoration:underline}.booking-info{background:var(--light-color);padding:15px;border-radius:8px;margin:15px 0;border-left:3px solid var(--accent-color)}.booking-info p{margin:6px 0;font-size:14px}.booking-info strong{color:var(--primary-color)}@media (max-width: 768px){.hotel-header{flex-direction:column}.hotel-header h3{min-width:100%}.chain-badge{align-self:flex-start}.hotel-name-link{font-size:1.1em}.hotel-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.map-container iframe{height:300px}.map-container>#hotel-map{height:300px}.hotel-details p{font-size:14px}.feature-tag{font-size:11px;padding:5px 10px}}@media (max-width: 480px){.venue-badge{display:block;margin-bottom:8px;width:fit-content}.hotel-details{padding:12px}.hotel-features{gap:6px}}@media print{.hotel-actions{display:none}.map-container{page-break-inside:avoid}.hotel-card{page-break-inside:avoid;box-shadow:none;border:1px solid #ddd}}.faq-container{max-width:900px;margin:0 auto;padding:0 20px}.faq-item{background:var(--white);margin-bottom:20px;border-radius:12px;overflow:hidden;box-shadow:0 8px 30px #00000026;border:2px solid rgba(212,175,55,.3);position:relative;transition:all .3s ease}.faq-item:before{content:"";position:absolute;top:-10px;left:20px;width:60px;height:5px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:3px}.faq-item:hover{box-shadow:0 12px 40px #d4af374d;border-color:var(--primary-color);transform:translateY(-2px)}.faq-question-button{width:100%;padding:24px 28px;background:var(--white);border:none;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;transition:all .3s ease;font-family:Montserrat,sans-serif;font-style:normal}.faq-question-button:hover{background:#d4af370d}.faq-question-button.active{background:#d4af371a;border-bottom:2px solid rgba(212,175,55,.3)}.faq-question-text{font-size:1.15rem;font-weight:600;font-style:normal;color:var(--dark-color);line-height:1.5;flex:1;text-align:left;font-family:Montserrat,sans-serif}.faq-toggle-icon{font-size:1.75rem;transition:transform .3s ease,color .3s ease;color:var(--primary-color);font-weight:300;min-width:24px;text-align:center;line-height:1;margin-top:2px}.faq-toggle-icon.active{transform:rotate(45deg);color:var(--secondary-color)}.faq-answer-wrapper{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.faq-answer-wrapper.active{max-height:2000px}.faq-answer{padding:0 28px 28px;color:#4a4a4a;line-height:1.8;font-size:1.05rem;font-style:normal;font-family:Montserrat,sans-serif}.faq-contact-card{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);text-align:center;padding:50px 40px;border-radius:12px;box-shadow:0 8px 30px #00000026;border:2px solid rgba(212,175,55,.3);margin-top:60px;position:relative}.faq-contact-card:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:80px;height:5px;background:var(--white);border-radius:3px}.faq-contact-card h3{color:var(--white);margin-bottom:15px;font-size:1.8rem;font-family:Playfair Display,serif;font-weight:600}.faq-contact-card p{font-size:1.1rem;margin-bottom:10px;opacity:.95}.faq-contact-details{margin-top:30px;display:flex;flex-direction:column;gap:15px}.faq-contact-item{font-size:1rem;opacity:.95}.faq-contact-item strong{font-weight:600;margin-right:8px}.faq-loading{text-align:center;padding:60px 20px;color:var(--dark-color);font-size:1.1rem}@media (max-width: 768px){.faq-container{padding:0 15px}.faq-item{margin-bottom:15px;border-radius:10px}.faq-question-button{padding:20px 22px;gap:15px}.faq-question-text{font-size:1.05rem}.faq-toggle-icon{font-size:1.5rem;min-width:20px}.faq-answer{padding:0 22px 24px;font-size:1rem;line-height:1.7}.faq-contact-card{padding:40px 30px;margin-top:50px}.faq-contact-card h3{font-size:1.5rem}.faq-contact-card p{font-size:1rem}.faq-contact-details{margin-top:25px;gap:12px}.faq-contact-item{font-size:.95rem}}@media (max-width: 480px){.faq-question-button{padding:18px}.faq-question-text{font-size:1rem}.faq-answer{padding:0 18px 22px;font-size:.95rem}.faq-contact-card{padding:35px 25px}}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(212,175,55,.3)}.tab-button{padding:1rem 2rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1.1rem;font-weight:600;font-family:Montserrat,sans-serif;color:var(--medium-color);cursor:pointer;transition:all .3s ease;position:relative;bottom:-2px}.tab-button:hover{color:var(--primary-color)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:#d4af370d}.btn-add-faq{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease}.btn-add-faq:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.btn-delete{padding:.5rem 1rem;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease;margin-left:.5rem}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 4px 12px #dc35454d}.admin-loading{text-align:center;padding:4rem 2rem;font-size:1.2rem;font-family:Montserrat,sans-serif;font-style:normal;color:var(--medium-color)}.admin-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.admin-search,.admin-filter{padding:.75rem 1rem;border:2px solid rgba(212,175,55,.3);border-radius:8px;font-size:1rem;font-family:Montserrat,sans-serif;font-style:normal;transition:all .3s ease}.admin-search:focus,.admin-filter:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #d4af371a}.admin-search{flex:1;min-width:250px}.admin-filter{min-width:200px}.btn-import{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;font-family:Montserrat,sans-serif;font-style:normal;cursor:pointer;transition:all .3s ease}.btn-import:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.admin-stats{display:flex;gap:1.5rem;margin-left:auto;font-weight:600;font-family:Montserrat,sans-serif;font-style:normal;color:var(--dark-color)}.admin-table-container{overflow-x:auto;border-radius:12px;box-shadow:0 8px 30px #00000026;border:2px solid rgba(212,175,55,.3)}.admin-table{width:100%;border-collapse:collapse;background:#fff}.admin-table thead{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.admin-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;font-family:Montserrat,sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.5px}.admin-table td{padding:1rem;border-bottom:1px solid rgba(212,175,55,.2);font-family:Montserrat,sans-serif;font-style:normal}.admin-table tbody tr:hover{background:#d4af370d}.address-compact{font-size:.9rem;color:var(--medium-color)}.family-tag{padding:.25rem .75rem;background:var(--background-secondary);border-radius:12px;font-size:.85rem;color:var(--text-primary)}.status-badge{padding:.35rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.confirmed{background:#d4f4dd;color:#0d7129}.status-badge.pending{background:#fff4ce;color:#916d00}.btn-edit{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600}.btn-edit:hover{background:var(--secondary-color);transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.edit-modal,.import-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem;box-shadow:0 20px 60px #0000004d}.import-modal{max-width:800px}.edit-modal h2,.import-modal h2{margin-top:0;margin-bottom:1.5rem;color:var(--dark-color)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:span 2}.form-group label{margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.9rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel]{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--primary-color)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-save,.btn-cancel{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-save{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}.btn-save:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{background:var(--background-secondary);color:var(--text-primary)}.btn-cancel:hover{background:var(--border-color)}.import-instructions{margin-bottom:2rem}.import-instructions h3{color:var(--dark-color);margin-bottom:1rem}.instruction-step{margin-bottom:1.5rem;padding:1rem;background:var(--background-secondary);border-radius:8px}.instruction-step strong{display:block;margin-bottom:.5rem;color:var(--dark-color)}.instruction-step p{margin:.5rem 0;color:var(--text-secondary)}.instruction-step ul{margin:.5rem 0;padding-left:1.5rem}.btn-template{margin-top:.5rem;padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.btn-template:hover{background:var(--secondary-color);transform:translateY(-1px)}.tips-box{padding:1rem;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px;margin-top:1rem}.tips-box strong{display:block;margin-bottom:.5rem;color:#1976d2}.tips-box ul{margin:.5rem 0 0;padding-left:1.5rem}.tips-box li{color:#424242;margin-bottom:.25rem}.import-upload{margin-top:2rem}.file-input{display:none}.file-label{display:block;padding:2rem;border:2px dashed var(--border-color);border-radius:12px;text-align:center;cursor:pointer;transition:all .2s ease;font-size:1rem;color:var(--text-secondary)}.file-label:hover{border-color:var(--primary-color);background:var(--background-secondary)}.import-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.import-results{margin-top:2rem;padding:2rem;background:var(--background-secondary);border-radius:12px}.import-results h3{margin-top:0;color:var(--dark-color);text-align:center}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:1.5rem 0}.result-stat{padding:1rem;background:#fff;border-radius:8px;text-align:center}.result-stat.success{border-left:4px solid #0d7129}.result-stat.warning{border-left:4px solid #916d00}.result-stat.error{border-left:4px solid #d32f2f}.stat-label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--dark-color)}.invitation-badges{display:flex;gap:.25rem;flex-wrap:wrap}.badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;font-family:Montserrat,sans-serif;font-style:normal;text-align:center;min-width:24px}.badge-plus-one{background:var(--primary-color);color:#fff}.badge-mehndi{background:#e91e63;color:#fff}.badge-rehearsal{background:#9c27b0;color:#fff}.pagination-container{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.btn-pagination{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease}.btn-pagination:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #d4af374d}.btn-pagination:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:1rem;font-weight:600;font-family:Montserrat,sans-serif;color:var(--dark-color)}.faq-header-info{background:#d4af371a;border-left:4px solid var(--primary-color);padding:1rem 1.5rem;margin-bottom:1.5rem;border-radius:8px}.info-text{margin:0;font-size:1rem;font-family:Montserrat,sans-serif;color:var(--dark-color)}.faq-link{color:var(--primary-color);font-weight:600;text-decoration:underline;transition:color .3s ease}.faq-link:hover{color:var(--secondary-color)}.btn-view-faq{padding:.75rem 1.5rem;background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-view-faq:hover{transform:translateY(-2px);box-shadow:0 4px 12px #9c27b04d}.import-progress{margin-top:1.5rem;padding:1.5rem;background:#d4af371a;border-radius:8px;text-align:center}.progress-spinner{width:40px;height:40px;margin:0 auto 1rem;border:4px solid rgba(212,175,55,.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.import-progress p{margin:0;color:var(--dark-color);font-size:1rem;font-family:Montserrat,sans-serif}@media (max-width: 768px){.admin-controls{flex-direction:column;align-items:stretch}.admin-search,.admin-filter{width:100%}.admin-stats{margin-left:0;justify-content:space-between}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.results-summary{grid-template-columns:1fr}.modal-actions,.import-actions{flex-direction:column}.btn-save,.btn-cancel{width:100%}}.page-container{max-width:1000px;margin:0 auto;padding:120px 40px 80px;min-height:100vh;background:linear-gradient(to bottom,var(--light-color) 0%,var(--lighter-color) 50%,var(--lightest-color) 100%);font-family:Montserrat,sans-serif;font-style:normal}.page-header{text-align:center;margin-bottom:60px;animation:fadeInDown .6s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.page-title{font-size:4rem;color:var(--dark-color);margin-bottom:15px;font-weight:600;font-style:normal;letter-spacing:1px;font-family:Playfair Display,serif}.page-subtitle{font-size:1.3rem;color:var(--medium-color);font-weight:400;font-style:normal;font-family:Montserrat,sans-serif}.section{animation:fadeInUp .6s ease-out}.rsvp-container{max-width:900px;margin:0 auto}.rsvp-card{background:#fff;border-radius:12px;padding:50px;box-shadow:0 8px 30px #00000026;border:2px solid rgba(212,175,55,.3);margin-bottom:30px;position:relative;transition:all .3s ease}.rsvp-card:hover{box-shadow:0 12px 40px #d4af374d;border-color:var(--primary-color)}.rsvp-card:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:80px;height:5px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:3px}.rsvp-card-title{font-size:2.5rem;color:var(--dark-color);margin-bottom:40px;font-family:Playfair Display,serif;font-weight:600;font-style:normal;text-align:center;border-bottom:2px solid var(--primary-color);padding-bottom:20px}.event-section{margin-bottom:40px;padding:30px;background:linear-gradient(135deg,#fff9f0,#fff3e0);border-radius:16px;border-left:4px solid var(--secondary-color)}.event-section.compact{padding:20px;margin-bottom:20px}.event-title{font-size:1.8rem;color:var(--dark-color);margin-bottom:15px;font-family:Playfair Display,serif;font-weight:500}.event-title-small{font-size:1.3rem;color:var(--dark-color);margin-bottom:12px;font-family:Playfair Display,serif;font-weight:500}.event-details{font-size:1.1rem;color:var(--dark-color);margin-bottom:5px;font-weight:500}.event-location{font-size:1rem;color:#8b6914;margin-bottom:25px;font-style:italic}.rsvp-options{display:flex;gap:20px;margin-top:25px;flex-wrap:wrap}.rsvp-options.compact{gap:15px;margin-top:15px}.rsvp-option{flex:1;min-width:200px;padding:20px;background:#fff;border:2px solid #e8e8e8;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;position:relative}.rsvp-option:hover{border-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.rsvp-option.selected{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);border-color:var(--secondary-color);color:#fff}.rsvp-option input[type=radio]{width:22px;height:22px;cursor:pointer;accent-color:var(--secondary-color)}.option-text{font-size:1.1rem;font-weight:500;flex:1}.rsvp-option.selected .option-text{color:#fff}.btn-apply-all{margin-top:20px;padding:12px 24px;background:#fff;border:2px solid var(--primary-color);border-radius:10px;color:var(--primary-color);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;width:100%}.btn-apply-all:hover:not(:disabled){background:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #8b73554d}.btn-apply-all:disabled{opacity:.5;cursor:not-allowed}.apply-all-section{margin-top:40px;padding:30px;background:linear-gradient(135deg,#e8f4f8,#d4e9f2);border-radius:16px;border:2px solid #7fb3d5;text-align:center}.btn-apply-all-main{padding:18px 40px;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #4a90e24d;font-family:Montserrat,sans-serif;letter-spacing:.5px;display:flex;align-items:center;gap:10px;justify-content:center;margin:0 auto}.btn-apply-all-main:hover:not(:disabled){box-shadow:0 8px 30px #4a90e266;transform:translateY(-3px);background:linear-gradient(135deg,#357abd,#2a5c94)}.btn-apply-all-main:disabled{opacity:.5;cursor:not-allowed;transform:none}.apply-all-hint{margin-top:15px;font-size:.95rem;color:#2a5c94;font-style:italic}.family-rsvp-section{margin-top:50px}.section-title{font-size:2rem;color:var(--primary-color);margin-bottom:30px;font-family:Playfair Display,serif;text-align:center;font-weight:500}.family-card{background:#f8f8f8;border-left:4px solid #b8d4ff}.family-member-name{font-size:1.8rem;color:var(--dark-color);margin-bottom:25px;font-family:Playfair Display,serif;font-weight:500;text-align:center}.rsvp-submit-section{margin-top:50px;text-align:center}.btn-submit-rsvp{padding:18px 50px;font-size:1.2rem;font-weight:600;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #2ecc714d;font-family:Montserrat,sans-serif;letter-spacing:.5px}.btn-submit-rsvp:hover:not(:disabled){box-shadow:0 8px 30px #2ecc7166;transform:translateY(-3px)}.btn-submit-rsvp:disabled{opacity:.5;cursor:not-allowed;transform:none}.rsvp-confirmation{text-align:center;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirmation-icon{width:100px;height:100px;margin:0 auto 30px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;box-shadow:0 10px 30px #2ecc714d;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.confirmation-title{font-size:2.5rem;color:var(--primary-color);margin-bottom:15px;font-family:Playfair Display,serif;font-weight:500}.confirmation-subtitle{font-size:1.2rem;color:var(--dark-color);opacity:.7;margin-bottom:50px}.rsvp-summary-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 10px 40px #00000014;margin-bottom:25px;text-align:left}.rsvp-summary-card.family{background:#f8f8f8;padding:30px}.summary-name{font-size:2rem;color:var(--primary-color);margin-bottom:25px;font-family:Playfair Display,serif;font-weight:500;border-bottom:2px solid var(--secondary-color);padding-bottom:15px}.summary-name-small{font-size:1.5rem;color:var(--dark-color);margin-bottom:20px;font-family:Playfair Display,serif;font-weight:500}.summary-events{display:flex;flex-direction:column;gap:20px}.summary-events.compact{gap:12px}.summary-event{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:linear-gradient(135deg,#fff9f0,#fff3e0);border-radius:10px;border-left:4px solid var(--secondary-color)}.summary-event-small{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#fff;border-radius:8px;font-size:.95rem}.summary-event-name{font-weight:600;color:var(--dark-color);font-size:1.1rem}.summary-status{padding:8px 16px;border-radius:20px;font-weight:500;font-size:1rem}.summary-status.attending{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #c3e6cb}.summary-status.not-attending{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #f5c6cb}.family-summary-section{margin-top:30px}.calendar-export-section{margin-top:60px;padding:50px;background:linear-gradient(135deg,#fff9f0,#fff3e0);border-radius:20px;border:2px solid var(--secondary-color)}.calendar-title{font-size:2rem;color:var(--primary-color);margin-bottom:15px;font-family:Playfair Display,serif;font-weight:500}.calendar-subtitle{font-size:1.1rem;color:var(--dark-color);margin-bottom:35px;opacity:.8}.calendar-events{display:flex;flex-direction:column;gap:30px}.calendar-event-card{background:#fff;border-radius:16px;padding:35px;box-shadow:0 6px 25px #00000014;border-left:4px solid var(--secondary-color)}.calendar-event-name{font-size:1.6rem;color:var(--dark-color);margin-bottom:10px;font-family:Playfair Display,serif;font-weight:500}.calendar-event-date{font-size:1.1rem;color:#8b6914;margin-bottom:25px;font-style:italic}.calendar-buttons{display:flex;gap:15px;flex-wrap:wrap}.btn-calendar{flex:1;min-width:150px;padding:14px 20px;border:none;border-radius:10px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:Montserrat,sans-serif;box-shadow:0 4px 15px #0000001a}.btn-calendar.google{background:linear-gradient(135deg,#4285f4,#357ae8);color:#fff}.btn-calendar.google:hover{box-shadow:0 6px 25px #4285f466;transform:translateY(-2px)}.btn-calendar.apple{background:linear-gradient(135deg,#555,#333);color:#fff}.btn-calendar.apple:hover{box-shadow:0 6px 25px #5556;transform:translateY(-2px)}.btn-calendar.outlook{background:linear-gradient(135deg,#0078d4,#0063b1);color:#fff}.btn-calendar.outlook:hover{box-shadow:0 6px 25px #0078d466;transform:translateY(-2px)}.confirmation-note{margin-top:50px;padding:30px;background:#f8f8f8;border-radius:16px;border-left:4px solid var(--primary-color)}.confirmation-note p{color:var(--dark-color);font-size:1rem;line-height:1.8;margin-bottom:10px}.confirmation-note p:last-child{margin-bottom:0}@media (max-width: 768px){.page-container{padding:100px 20px 60px}.page-title{font-size:3rem}.page-subtitle{font-size:1.1rem}.rsvp-card{padding:30px 25px;border-radius:16px}.rsvp-card-title{font-size:2rem}.event-title{font-size:1.5rem}.rsvp-options{flex-direction:column}.rsvp-option{min-width:100%}.calendar-buttons{flex-direction:column}.btn-calendar{width:100%;min-width:100%}.calendar-export-section{padding:30px 20px}.confirmation-title{font-size:2rem}}@media (max-width: 480px){.page-title{font-size:2.5rem}.rsvp-card-title{font-size:1.8rem}.event-section{padding:20px}.btn-submit-rsvp{width:100%;padding:16px 30px}}.montage-container{position:fixed;top:60px;left:0;width:100vw;height:calc(100vh - 60px);background:#000;display:flex;align-items:center;justify-content:center;z-index:100;overflow:hidden}.montage-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000;will-change:opacity;pointer-events:none}.montage-image.visible{opacity:1;z-index:2}.montage-image.hidden{opacity:0;z-index:1}.montage-image.fading-in{transition:opacity .3s ease-in-out;opacity:1!important;z-index:2}.montage-image.fading-out{transition:opacity .3s ease-in-out;opacity:0!important;z-index:1}.montage-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:10}.montage-title{font-family:Playfair Display,serif;font-size:5rem;font-weight:600;font-style:normal;color:#fff;text-shadow:2px 2px 10px rgba(0,0,0,.7);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.05);opacity:1}}.montage-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;display:flex;align-items:center;justify-content:center;z-index:10}.loading-content{text-align:center;max-width:500px;padding:0 30px}.loading-title{font-family:Playfair Display,serif;font-size:4rem;font-weight:600;font-style:normal;color:#fff;margin-bottom:40px;text-shadow:2px 2px 10px rgba(0,0,0,.7)}.loading-bar-container{width:100%;height:6px;background:#fff3;border-radius:3px;overflow:hidden;margin-bottom:20px}.loading-bar-fill{height:100%;background:linear-gradient(90deg,#b8860b,#daa520);border-radius:3px;transition:width .3s ease-out}.loading-text{font-family:Montserrat,sans-serif;font-size:1rem;font-style:normal;color:#fffc;margin:0}.perspective-choice-container{min-height:100vh;background:linear-gradient(135deg,#f5f0e8,#fffbf0,#f5e6d3);display:flex;align-items:center;justify-content:center;padding:40px 20px;font-family:Montserrat,sans-serif;font-style:normal}.perspective-choice-content{text-align:center;max-width:900px;animation:fadeInUp .8s ease-out}.perspective-choice-content h1{font-family:Playfair Display,serif;font-size:3.5rem;font-weight:600;font-style:normal;color:#2c2416;margin-bottom:15px}.perspective-subtitle{font-size:1.3rem;color:#6d5d4b;font-style:normal;font-family:Montserrat,sans-serif;margin-bottom:60px}.perspective-buttons{display:flex;gap:40px;justify-content:center;flex-wrap:wrap}.perspective-button{width:300px;padding:40px 30px;background:#fff;border:3px solid #d4af37;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:15px;box-shadow:0 4px 20px #0000001a}.perspective-button:hover{transform:translateY(-8px);box-shadow:0 8px 30px #d4af374d;border-color:#b8860b}.perspective-name{font-family:Playfair Display,serif;font-size:2rem;font-weight:600;font-style:normal;color:#2c2416;display:block}.perspective-tagline{font-size:1rem;color:#6d5d4b;font-style:normal;font-family:Montserrat,sans-serif;display:block}.poorva-button:hover{background:linear-gradient(135deg,#fff5f5,#ffe8e8)}.josh-button:hover{background:linear-gradient(135deg,#f5f5ff,#e8e8ff)}.our-story-container{min-height:100vh;background:linear-gradient(to bottom,#f5f0e8,#fffbf0,#f5e6d3);padding:60px 20px;position:relative;font-family:Montserrat,sans-serif;font-style:normal}.story-header{text-align:center;margin-bottom:80px;position:relative;z-index:10}.story-header h1{font-family:Playfair Display,serif;font-size:4rem;font-weight:600;font-style:normal;color:#2c2416;margin-bottom:20px;animation:fadeInDown .8s ease-out}.switch-perspective-button{padding:12px 30px;font-size:1rem;background:#fff;border:2px solid #d4af37;border-radius:25px;color:#2c2416;cursor:pointer;transition:all .3s ease;font-weight:500;font-family:Montserrat,sans-serif;font-style:normal}.switch-perspective-button:hover{background:#d4af37;color:#fff;transform:scale(1.05)}.connecting-line{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.story-timeline{max-width:1200px;margin:0 auto;position:relative;z-index:5}.story-item{margin-bottom:0;opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.16,1,.3,1);overflow:visible;min-height:0}.story-item.visible{opacity:1;transform:translateY(0)}.story-item.left{padding-right:50%;text-align:right}.story-item.right{padding-left:50%;text-align:left}.story-item.left.visible{animation:slideInFromLeft .8s ease-out}.story-item.right.visible{animation:slideInFromRight .8s ease-out}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100px) rotate(-5deg)}to{opacity:1;transform:translate(0) rotate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100px) rotate(5deg)}to{opacity:1;transform:translate(0) rotate(0)}}.story-photo-container{display:inline-block;padding:15px;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;transform:rotate(0);transition:all .3s ease;max-height:none;overflow:visible;width:fit-content}.story-item.left .story-photo-container{transform:rotate(-2deg)}.story-item.right .story-photo-container{transform:rotate(2deg)}.story-photo-container:hover{transform:rotate(0) scale(1.05);box-shadow:0 15px 50px #0000004d}.story-photo{width:100%;max-width:400px;height:auto;display:block;border-radius:4px;object-fit:contain}.story-card{display:inline-block;max-width:500px;padding:35px;background:#fff;border-radius:12px;box-shadow:0 8px 30px #00000026;border:2px solid rgba(212,175,55,.3);position:relative;transition:all .3s ease}.story-card:hover{transform:scale(1.03);box-shadow:0 12px 40px #d4af374d;border-color:#d4af37}.story-card:before{content:"";position:absolute;top:-10px;left:20px;width:60px;height:5px;background:linear-gradient(90deg,#d4af37,#b8860b);border-radius:3px}.story-card h2{font-family:Playfair Display,serif;font-size:2rem;font-weight:600;font-style:normal;color:#2c2416;margin-bottom:15px;margin-top:0}.story-card p{font-size:1.1rem;line-height:1.8;color:#4a4a4a;margin:0;font-family:Montserrat,sans-serif;font-style:normal}.story-footer{text-align:center;margin-top:100px;padding-top:60px;border-top:2px solid rgba(212,175,55,.3)}@media (max-width: 968px){.montage-title{font-size:3.5rem}.perspective-choice-content h1{font-size:2.5rem}.perspective-buttons{flex-direction:column;align-items:center;gap:25px}.story-header h1{font-size:3rem}.story-item.left,.story-item.right{padding-left:0;padding-right:0;text-align:center}.story-photo,.story-card{max-width:100%}}@media (max-width: 480px){.montage-title{font-size:2.5rem}.perspective-choice-content h1{font-size:2rem}.perspective-subtitle{font-size:1.1rem}.perspective-button{width:100%;padding:30px 20px}.story-header h1{font-size:2.2rem}.story-card h2{font-size:1.6rem}.story-card p{font-size:1rem}}:root{--champagne-dark: #b8860b;--champagne: #d4af37;--champagne-light: #daa520;--rose-gold: #d4af37;--rose-gold-light: rgba(212, 175, 55, .2);--rose-gold-dark: #b8860b;--soft-cream: #f5f0e8;--warm-ivory: #fffbf0}.coming-soon-container{min-height:100vh;background:#fff;padding:80px 0 0;font-family:Montserrat,sans-serif;font-style:normal}.hero-section{min-height:40vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:3rem 2rem;background:linear-gradient(to bottom,var(--light-color) 0%,var(--lighter-color) 50%,var(--lightest-color) 100%);position:relative;overflow:hidden;border-bottom:1px solid rgba(212,175,55,.3)}.hero-section:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(212,175,55,.08) 0%,rgba(184,134,11,.05) 50%,transparent 70%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:900px;animation:fadeInUp 1.5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.save-the-date{font-size:1.4rem;color:var(--champagne-dark);margin:0 0 1.5rem;font-weight:500;text-transform:uppercase;letter-spacing:5px;font-family:Playfair Display,serif}.wedding-date{font-size:3.5rem;color:var(--champagne-dark);font-weight:500;margin:1rem 0 2rem;font-family:Playfair Display,serif;letter-spacing:4px;background:linear-gradient(135deg,var(--champagne) 0%,var(--rose-gold-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.wedding-location{font-size:1.8rem;color:var(--champagne-dark);margin-top:1.5rem;font-weight:400;letter-spacing:8px;font-family:Playfair Display,serif;text-transform:uppercase}.countdown-section{background:linear-gradient(180deg,#ffffff 0%,var(--soft-cream) 50%,#ffffff 100%);padding:7rem 2rem;text-align:center;border-bottom:1px solid var(--champagne-light)}.countdown-title{font-size:2.2rem;color:var(--champagne-dark);margin-bottom:4rem;font-weight:500;text-transform:uppercase;letter-spacing:5px;font-family:Playfair Display,serif;position:relative;display:inline-block}.countdown-title:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:80px;height:2px;background:linear-gradient(to right,var(--champagne-light),var(--champagne),var(--champagne-light))}.countdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:3rem;max-width:900px;margin:0 auto}.countdown-item{background:linear-gradient(135deg,#ffffff 0%,var(--soft-cream) 100%);padding:3rem 2rem;border-radius:0;border:1px solid var(--champagne-light);transition:all .4s ease;position:relative;box-shadow:0 4px 16px #d4af3714}.countdown-item:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--champagne),transparent);transform:scaleX(0);transition:transform .4s ease}.countdown-item:hover:before{transform:scaleX(1)}.countdown-item:hover{transform:translateY(-8px);box-shadow:0 12px 32px #b8935e26,0 8px 16px #dbb5a81a;border-color:var(--champagne)}.countdown-number{font-size:4.5rem;font-weight:400;background:linear-gradient(135deg,var(--champagne) 0%,var(--champagne-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:1.2rem;font-family:Playfair Display,serif}.countdown-label{font-size:.95rem;color:var(--champagne-dark);text-transform:uppercase;letter-spacing:4px;font-weight:500;font-family:Playfair Display,serif}.welcome-section{background:linear-gradient(180deg,#ffffff 0%,var(--warm-ivory) 50%,#ffffff 100%);padding:3rem 2rem}.welcome-card{max-width:900px;margin:0 auto;background:linear-gradient(135deg,#ffffff 0%,var(--soft-cream) 100%);padding:2.5rem 3rem;border-radius:0;box-shadow:0 8px 32px #b8935e1a,0 4px 16px #dbb5a80d;border:1px solid var(--champagne-light);position:relative}.welcome-card:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:120px;height:2px;background:linear-gradient(to right,transparent,var(--champagne),transparent)}.welcome-card h2{font-size:2.6rem;background:linear-gradient(135deg,var(--champagne) 0%,var(--champagne-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:0;margin-bottom:1.5rem;text-align:center;font-weight:400;letter-spacing:2px;font-family:Montserrat,sans-serif!important;font-style:normal!important}.welcome-message{font-size:1.15rem;line-height:2;color:#5a4d42;margin-bottom:0;text-align:center;font-weight:400;letter-spacing:.5px;font-family:Montserrat,sans-serif!important;font-style:normal!important;max-width:750px;margin-left:auto;margin-right:auto}.welcome-card h2,.welcome-card p,.welcome-card div,.welcome-card span{font-family:Montserrat,sans-serif!important;font-style:normal!important}.info-section{background:linear-gradient(180deg,#ffffff 0%,var(--soft-cream) 100%);padding:7rem 2rem;border-top:1px solid var(--rose-gold-light)}.info-card{max-width:850px;margin:0 auto;background:linear-gradient(135deg,#ffffff 0%,var(--soft-cream) 100%);padding:4rem;border-radius:12px;box-shadow:0 12px 48px #b8935e26,0 6px 24px #dbb5a81a;border:1px solid var(--champagne-light);position:relative;transition:all .3s ease}.info-card:hover{box-shadow:0 16px 56px #b8935e33,0 8px 32px #dbb5a826}.info-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,transparent,var(--champagne),transparent);border-radius:12px 12px 0 0}.info-card h2{font-size:2.6rem;background:linear-gradient(135deg,var(--champagne) 0%,var(--champagne-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:0;margin-bottom:2rem;text-align:center;font-family:Montserrat,sans-serif;font-weight:400;letter-spacing:1px;font-style:normal}.info-card h3,.info-card p,.info-card label,.info-card input,.info-card select,.info-card textarea,.info-card button,.info-card div{font-family:Montserrat,sans-serif!important;font-style:normal!important}.info-instruction{font-size:1.1rem;line-height:1.8;color:var(--champagne-dark);margin-bottom:2rem;text-align:center;font-family:Montserrat,sans-serif}.info-note{background:linear-gradient(135deg,var(--soft-cream) 0%,var(--warm-ivory) 100%);padding:1.5rem;border-radius:0;border-left:2px solid var(--champagne);margin-top:1.8rem;box-shadow:0 2px 8px #b8935e14}.info-note strong{color:var(--champagne-dark);font-weight:600}.stay-tuned-section{padding:5rem 2rem;background:linear-gradient(180deg,var(--soft-cream) 0%,var(--warm-ivory) 50%,var(--soft-cream) 100%)}.stay-tuned-card{max-width:850px;margin:0 auto;text-align:center;padding:5rem 4rem;background:linear-gradient(135deg,#ffffff 0%,var(--soft-cream) 100%);border-radius:0;box-shadow:0 8px 32px #b8935e1a,0 4px 16px #dbb5a80d;position:relative;border:1px solid var(--champagne-light)}.stay-tuned-card:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:120px;height:2px;background:linear-gradient(to right,transparent,var(--champagne),transparent)}.stay-tuned-card h2{font-size:3rem;background:linear-gradient(135deg,var(--champagne) 0%,var(--champagne-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:0;margin-bottom:2.5rem;font-family:Cormorant Garamond,serif;font-weight:400;letter-spacing:1px}.stay-tuned-card p{font-size:1.15rem;line-height:2;color:#5a4d42;margin-bottom:2rem;font-family:Montserrat,sans-serif;font-weight:300;max-width:700px;margin-left:auto;margin-right:auto}.social-note{background:linear-gradient(135deg,var(--soft-cream) 0%,var(--warm-ivory) 100%);padding:2rem;border-radius:0;margin-top:2.5rem;font-size:1.05rem;color:var(--champagne-dark);font-weight:400;box-shadow:0 4px 12px #b8935e14;font-family:Montserrat,sans-serif;border-top:2px solid var(--champagne-light);border-bottom:2px solid var(--champagne-light)}.photo-section-top{width:100%;background:#fff;display:flex;justify-content:center;align-items:center;padding:0;margin:0}.photo-container-top{width:100%;overflow:hidden;display:flex;justify-content:center;align-items:center}.featured-photo-top{width:100%;height:auto;display:block;object-fit:contain;object-position:center}.photo-section{padding:4rem 2rem;background:linear-gradient(180deg,var(--soft-cream) 0%,#ffffff 50%,var(--soft-cream) 100%);display:flex;justify-content:center;align-items:center}.photo-container{max-width:1200px;width:100%;overflow:hidden;border-radius:0;box-shadow:0 8px 32px #b8935e1f,0 4px 16px #dbb5a814;border:2px solid var(--champagne-light);position:relative}.photo-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,transparent,var(--champagne),transparent);z-index:1}.featured-photo,.content-photo{width:100%;height:auto;display:block;object-fit:cover}.featured-photo{max-height:700px}.content-photo{max-height:600px}@media (max-width: 768px){.hero-section{min-height:35vh;padding:2.5rem 2rem}.save-the-date{font-size:1.1rem;letter-spacing:3px}.wedding-date{font-size:2.8rem;letter-spacing:2px}.wedding-location{font-size:1.3rem;letter-spacing:5px}.photo-section-top{max-height:60vh;overflow:hidden}.featured-photo-top{max-height:60vh;width:100%;object-fit:cover;object-position:center top}.countdown-title{font-size:1.8rem;letter-spacing:3px}.countdown-number{font-size:3.5rem}.countdown-grid{grid-template-columns:repeat(2,1fr);gap:2rem}.countdown-item{padding:2.5rem 1.5rem}.welcome-card{padding:2rem}.welcome-card h2{font-size:2.2rem;margin-bottom:1rem}.welcome-message{font-size:1.05rem;line-height:1.9}.info-card,.stay-tuned-card{padding:3rem 2.5rem}.info-card h2,.stay-tuned-card h2{font-size:2.2rem}.photo-section{padding:3rem 1rem}.featured-photo{max-height:500px}.content-photo{max-height:400px}}@media (max-width: 480px){.hero-section{min-height:30vh;padding:2rem 1.5rem}.save-the-date{font-size:.95rem;letter-spacing:2px}.wedding-date{font-size:2.2rem;letter-spacing:1px}.wedding-location{font-size:1.1rem;letter-spacing:4px}.photo-section-top,.featured-photo-top{max-height:50vh}.countdown-title{font-size:1.5rem;letter-spacing:2px}.countdown-item{padding:2rem 1.2rem}.countdown-number{font-size:3rem}.countdown-label{font-size:.85rem;letter-spacing:2px}.welcome-card,.info-card,.stay-tuned-card{padding:2rem 1.5rem}.welcome-card h2{font-size:2rem;margin-bottom:1rem}.welcome-message{font-size:1rem}}.invitation-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#f5f0e8,#e8dfd0)}.invitation-background{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(212,175,55,.1) 0%,transparent 70%);pointer-events:none}.envelope-wrapper{position:relative;perspective:1000px;animation:floatIn 1s ease-out}@keyframes floatIn{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.envelope-3d{width:520px;height:340px;position:relative;cursor:pointer;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .8s ease}.envelope-3d:hover .envelope-front,.envelope-3d:hover .envelope-back-side .envelope-body{box-shadow:inset 0 0 0 1px #b4a0824d,inset 0 1px 2px #fff9,0 15px 35px #0003,0 4px 10px #0000001f}.envelope-3d.flipped{transform:rotateY(180deg)}.envelope-front{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:4px;overflow:hidden;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"),linear-gradient(165deg,#faf8f3,#f5f1e8,#efe9dc,#f2ede3,#f8f5ed);background-blend-mode:soft-light,normal;box-shadow:inset 0 0 0 1px #b4a0824d,inset 0 1px 2px #fff9,inset 0 -1px 2px #0000000a,0 8px 25px #00000026,0 2px 6px #0000001a}.return-address{position:absolute;top:25px;left:30px}.return-names{font-family:Brush Script MT,Segoe Script,cursive;font-size:18px;color:#2a2520;margin:0;line-height:1.2}.return-city{font-family:Georgia,serif;font-size:12px;color:#666;margin:4px 0 0;font-style:italic}.envelope-front .envelope-addressing{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:80%}.envelope-front .address-name{font-family:Brush Script MT,Segoe Script,cursive;font-size:32px;color:#2a2520;margin:0;line-height:1.3}.envelope-back-side{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(180deg);border-radius:4px}.envelope-body{position:absolute;width:100%;height:100%;border-radius:4px;overflow:hidden;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"),linear-gradient(165deg,#faf8f3,#f5f1e8,#efe9dc,#f2ede3,#f8f5ed);background-blend-mode:soft-light,normal;box-shadow:inset 0 0 0 1px #b4a0824d,inset 0 1px 2px #fff9,0 8px 25px #00000026,0 2px 6px #0000001a}.envelope-body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 0%,transparent 40%,rgba(212,175,55,.03) 60%,rgba(212,175,55,.06) 100%);pointer-events:none}.envelope-back-side .envelope-flap{position:absolute;top:0;left:0;width:100%;height:180px;transform-origin:top center;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .6s ease;z-index:2}.envelope-back-side .envelope-flap.flap-open{transform:rotateX(-160deg)}.envelope-back-side .envelope-flap:before{content:"";position:absolute;width:100%;height:100%;clip-path:polygon(0 0,50% 100%,100% 0);backface-visibility:hidden;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E"),linear-gradient(180deg,#f8f5ed,#f3efe5 40%,#ede7da);background-blend-mode:soft-light,normal;box-shadow:inset 0 0 0 1px #b4a08240,0 2px 8px #00000014}.envelope-back-side .envelope-flap:after{content:"";position:absolute;width:100%;height:100%;clip-path:polygon(0 0,50% 100%,100% 0);backface-visibility:hidden;transform:rotateX(180deg);background:linear-gradient(180deg,#d4b062,#c9a44e,#b8923d 60%,#a67f35);box-shadow:inset 0 0 30px #0000001a}.envelope-back-side .wax-seal{position:absolute;top:58%;left:50%;transform:translate(-50%,-50%) rotate(-3deg);width:80px;height:80px;z-index:3;display:flex;align-items:center;justify-content:center;transition:transform .6s ease,opacity .3s ease}.envelope-back-side .wax-seal:before{content:"";position:absolute;width:100%;height:100%;background:radial-gradient(circle at 35% 35%,#e84c41,#d43c32 20%,#c12e24 45%,#9a1f17 75%,#7a1812);border-radius:47% 53% 51% 49%/52% 48%;box-shadow:0 4px 10px #00000059,0 8px 25px #7a181266,inset 3px 3px 8px #ff968c59,inset -3px -3px 8px #0006,inset 0 0 15px #00000026}.envelope-back-side .wax-seal:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:25px;height:18px;background:radial-gradient(ellipse at 50% 0%,#c12e24,#9a1f17 60%,#7a1812);border-radius:40% 40% 50% 50%;box-shadow:inset 1px 1px 4px #ff968c33,inset -1px -1px 4px #0000004d,0 2px 4px #0003}.envelope-back-side .envelope-flap.flap-open .wax-seal{opacity:0;transform:translate(-50%,-50%) rotate(-3deg) scale(.5)}.seal-texture{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.35) 0%,transparent 30%),radial-gradient(circle at 25% 35%,rgba(255,200,180,.2) 0%,transparent 25%),radial-gradient(circle at 70% 75%,rgba(0,0,0,.25) 0%,transparent 35%),radial-gradient(circle at 60% 30%,rgba(0,0,0,.1) 0%,transparent 15%),radial-gradient(circle at 40% 60%,rgba(255,255,255,.1) 0%,transparent 10%);pointer-events:none;z-index:2}.envelope-back-side .wax-seal .seal-ring{position:absolute;width:58px;height:58px;border:2px solid rgba(0,0,0,.15);border-radius:50%;box-shadow:inset 1px 1px 2px #ffffff26,inset -1px -1px 2px #0003}.seal-monogram{color:#fdf8f0;font-family:Cinzel,Times New Roman,serif;font-size:18px;font-weight:600;letter-spacing:2px;text-shadow:1px 1px 2px rgba(0,0,0,.4),-1px -1px 1px rgba(255,200,180,.15),0 0 8px rgba(0,0,0,.2);z-index:3;position:relative}.envelope-front .postage-stamp{position:absolute;top:20px;right:25px;width:80px;height:100px;background:#fefefe;padding:3px;transform:rotate(1.5deg);box-shadow:0 1px 3px #0000001f,0 2px 6px #00000014;z-index:1}.stamp-image{width:100%;height:100%;overflow:hidden;position:relative}.stamp-image img{width:100%;height:100%;object-fit:cover;filter:sepia(.15) saturate(1.1)}.stamp-perforations{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background-image:radial-gradient(circle,transparent 40%,white 40%),radial-gradient(circle,transparent 40%,white 40%),radial-gradient(circle,transparent 40%,white 40%),radial-gradient(circle,transparent 40%,white 40%);background-size:8px 8px,8px 8px,8px 8px,8px 8px;background-position:0 0,100% 0,0 100%,100% 100%;background-repeat:repeat-y,repeat-y,repeat-x,repeat-x;pointer-events:none}.envelope-instruction{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);text-align:center;animation:pulse 2s ease-in-out infinite}.envelope-instruction p{color:#8b6f47;font-size:16px;font-style:italic;margin:0}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.envelope-opened{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;perspective:1000px;overflow:hidden}.celestial-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0;opacity:0;animation:backdropFadeIn 2s ease 1.5s forwards}@keyframes backdropFadeIn{to{opacity:1}}.led-field-dense{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;gap:3px;padding:10px}.led-column-dense{display:flex;flex-direction:column;gap:2px}.led-dot{width:2px;height:10px;border-radius:1px;transition:opacity .2s ease,background .2s ease,box-shadow .2s ease}.led-dot.on{background:linear-gradient(180deg,rgba(212,175,55,.35) 0%,rgba(212,175,55,.2) 50%,rgba(212,175,55,.05) 90%,transparent 100%);box-shadow:0 0 2px #d4af3740,0 0 4px #d4af3726;opacity:1}.led-dot.off{background:linear-gradient(180deg,rgba(80,70,50,.15) 0%,rgba(80,70,50,.08) 50%,transparent 100%);box-shadow:none;opacity:.2}.led-column-dense:nth-child(4n) .led-dot.on{animation:ledPulse 4s ease-in-out infinite}.led-column-dense:nth-child(4n+1) .led-dot.on{animation:ledPulse 4s ease-in-out infinite 1s}.led-column-dense:nth-child(4n+2) .led-dot.on{animation:ledPulse 4s ease-in-out infinite 2s}.led-column-dense:nth-child(4n+3) .led-dot.on{animation:ledPulse 4s ease-in-out infinite 3s}@keyframes ledPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.15)}}.envelope-base{width:500px;height:350px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 10px 30px rgba(0,0,0,.2));pointer-events:none;z-index:5}.envelope-back.opened{width:100%;height:100%;background:linear-gradient(135deg,#fdfbf7,#f5f0e8,#ede5d8);border:2px solid #d4af37;border-radius:8px;box-shadow:inset 0 1px 3px #fffc,inset 0 -1px 2px #0000000d}.envelope-flap.opened{width:100%;height:160px;background:linear-gradient(135deg,#fdfbf7,#f0ebe0,#e8dfd0);border:2px solid #d4af37;border-bottom:none;position:absolute;top:0;left:0;transform-origin:top center;clip-path:polygon(0 0,50% 100%,100% 0);animation:openFlap .8s ease forwards;box-shadow:inset 0 -2px 4px #0000001a,0 2px 4px #0000001a}@keyframes openFlap{to{transform:rotateX(-180deg)}}.invitation-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:550px;max-width:90vw;max-height:85vh;background:linear-gradient(to bottom,#fffef9,#fdfbf7);border:1px solid #2c2416;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #d4af3733,0 0 40px #d4af3726;opacity:0;animation:slideUp .8s ease .3s forwards;z-index:10;overflow-y:auto;overflow-x:visible}.invitation-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(212,175,55,.015) 25%,rgba(255,255,255,.04) 50%,rgba(212,175,55,.015) 75%,transparent 100%);animation:shimmer 12s ease-in-out infinite;animation-delay:3s;pointer-events:none;z-index:100}.invitation-card:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;background:transparent;border:1px solid rgba(212,175,55,.3);pointer-events:none;animation:borderGlow 4s ease-in-out infinite;animation-delay:1s}@keyframes shimmer{0%{left:-100%;opacity:0}10%{opacity:1}90%{opacity:1}to{left:200%;opacity:0}}@keyframes borderGlow{0%,to{box-shadow:0 0 15px #d4af371a;border-color:#d4af3733}50%{box-shadow:0 0 25px #d4af3740;border-color:#d4af3766}}.card-decoration{position:absolute;pointer-events:none;animation:decorationGlow 5s ease-in-out infinite}.card-decoration.top-left,.card-decoration.bottom-right{animation-delay:0s}.card-decoration.top-right,.card-decoration.bottom-left{animation-delay:2.5s}.card-decoration.left-edge{animation-delay:1.25s}.card-decoration.right-edge{animation-delay:3.75s}@keyframes decorationGlow{0%,to{opacity:.35;filter:brightness(1)}50%{opacity:.55;filter:brightness(1.2)}}.card-decoration.top-left{top:-1px;left:-1px;width:120px;height:120px;background-image:radial-gradient(ellipse at 15% 15%,#d4af37 0%,transparent 30%),radial-gradient(circle at 25% 35%,#d4af37 0%,transparent 8%),radial-gradient(circle at 35% 25%,#d4af37 0%,transparent 6%),radial-gradient(circle at 45% 40%,#d4af37 0%,transparent 5%)}.card-decoration.top-left:before{content:"";position:absolute;top:15px;left:15px;width:60px;height:60px;border-top:1px solid #d4af37;border-left:1px solid #d4af37;opacity:.6}.card-decoration.top-left:after{content:"";position:absolute;top:25px;left:25px;width:3px;height:40px;background:linear-gradient(180deg,#d4af37 0%,transparent 100%);transform:rotate(-15deg)}.card-decoration.top-right{top:-1px;right:-1px;width:100px;height:100px;background-image:radial-gradient(circle at 85% 20%,#d4af37 0%,transparent 4%),radial-gradient(circle at 75% 30%,#d4af37 0%,transparent 5%),radial-gradient(circle at 80% 40%,#d4af37 0%,transparent 3%),radial-gradient(circle at 70% 50%,#d4af37 0%,transparent 4%)}.card-decoration.top-right:before{content:"";position:absolute;top:20px;right:20px;width:45px;height:45px;border-top:1px solid #d4af37;border-right:1px solid #d4af37;opacity:.5}.card-decoration.bottom-left{bottom:-1px;left:-1px;width:90px;height:110px}.card-decoration.bottom-left:before{content:"";position:absolute;bottom:20px;left:20px;width:50px;height:50px;border-bottom:1px solid #d4af37;border-left:1px solid #d4af37}.card-decoration.bottom-left:after{content:"";position:absolute;bottom:30px;left:15px;width:2px;height:35px;background:linear-gradient(0deg,#d4af37 0%,transparent 100%);transform:rotate(25deg)}.card-decoration.bottom-right{bottom:-1px;right:-1px;width:130px;height:130px;background-image:radial-gradient(ellipse at 85% 85%,#d4af37 0%,transparent 25%),radial-gradient(circle at 70% 75%,#d4af37 0%,transparent 6%),radial-gradient(circle at 75% 65%,#d4af37 0%,transparent 5%),radial-gradient(circle at 60% 80%,#d4af37 0%,transparent 7%)}.card-decoration.bottom-right:before{content:"";position:absolute;bottom:15px;right:15px;width:65px;height:65px;border-bottom:1px solid #d4af37;border-right:1px solid #d4af37;opacity:.6}.card-decoration.left-edge{top:35%;left:-1px;width:2px;height:80px;background:linear-gradient(180deg,transparent 0%,#d4af37 30%,#d4af37 70%,transparent 100%)}.card-decoration.left-edge:before{content:"";position:absolute;top:50%;left:-8px;transform:translateY(-50%);width:18px;height:18px;border:1px solid #d4af37;border-radius:50%;opacity:.5}.card-decoration.right-edge{top:55%;right:-1px;width:3px;height:60px;background:linear-gradient(180deg,transparent 0%,#d4af37 40%,transparent 100%)}.card-decoration.right-edge:after{content:"";position:absolute;top:30%;right:-6px;width:12px;height:12px;background:radial-gradient(circle,#d4af37 0%,transparent 70%)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-35%)}to{opacity:1;transform:translate(-50%,-50%)}}.card-content{padding:35px 70px;text-align:center;position:relative;z-index:1}.card-header{margin-bottom:25px}.formal-border-top{width:200px;height:1px;background:#2c2416;margin:0 auto 25px;position:relative}.formal-border-top:before,.formal-border-top:after{content:"";position:absolute;top:50%;width:8px;height:8px;background:#d4af37;transform:translateY(-50%) rotate(45deg)}.formal-border-top:before{left:0}.formal-border-top:after{right:0}.guest-greeting{font-family:Playfair Display,serif;font-size:24px;color:#2c2416;margin:0 0 20px;font-weight:400;letter-spacing:1px}.formal-divider{width:60px;height:1px;background:linear-gradient(90deg,transparent,#d4af37,transparent);margin:0 auto;position:relative;overflow:hidden}.formal-divider:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:dividerShimmer 3s ease-in-out infinite;animation-delay:2.5s}@keyframes dividerShimmer{0%{left:-100%}to{left:200%}}.formal-invitation-text{margin:25px 0 20px}.request-honour,.at-the-marriage{font-family:Georgia,serif;font-size:16px;color:#2c2416;margin:8px 0;letter-spacing:.5px;line-height:1.6}.couple-names{margin:25px 0}.bride-name,.groom-name{font-family:Playfair Display,serif;font-size:38px;color:#2c2416;font-weight:400;letter-spacing:2px;margin:0;line-height:1.3;position:relative;display:inline-block;background:linear-gradient(90deg,#2c2416,#2c2416 40%,#8b6f47,#2c2416 60%,#2c2416);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:nameShimmer 6s ease-in-out infinite;animation-delay:2s}@keyframes nameShimmer{0%,to{background-position:100% 0}50%{background-position:0% 0}}.name-connector{font-family:Georgia,serif;font-size:18px;color:#2c2416;margin:12px 0;font-style:italic}.event-details{margin:25px 0;padding:0 30px}.event-date,.event-year,.event-time{font-family:Georgia,serif;font-size:16px;color:#2c2416;margin:5px 0;letter-spacing:.5px}.dress-code{margin:30px 0;display:flex;align-items:center;justify-content:center;gap:20px}.dress-code-divider{width:80px;height:1px;background:linear-gradient(90deg,transparent 0%,#d4af37 50%,transparent 100%);position:relative;overflow:hidden}.dress-code-divider:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);animation:dividerShimmer 4s ease-in-out infinite;animation-delay:3s}.dress-code-text{font-family:Playfair Display,serif;font-size:18px;color:#2c2416;margin:0;letter-spacing:3px;text-transform:uppercase;font-weight:500}.card-footer{margin-top:30px;padding-top:25px;border-top:1px solid rgba(44,36,22,.2)}.website-note{font-family:Georgia,serif;font-size:14px;color:#6a6a6a;margin-bottom:25px;font-style:italic;letter-spacing:.3px}.enter-website-btn{background:#2c2416;color:#d4af37;border:1px solid #d4af37;padding:12px 35px;font-size:13px;font-family:Georgia,serif;font-weight:400;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #00000026}.enter-website-btn:hover{background:#d4af37;color:#2c2416;transform:translateY(-1px);box-shadow:0 4px 12px #d4af374d}.enter-website-btn:active{transform:translateY(0)}@media (max-width: 768px){.envelope{width:340px;height:240px}.envelope-flap{height:110px}.postage-stamp{top:115px;right:15px;width:70px;height:85px}.envelope-base{width:340px;height:240px}.envelope-flap.opened{height:110px}.invitation-card{width:90vw;max-width:400px}.card-content{padding:30px 55px}.celestial-panel{width:45px}.led-field-panel{padding:10px 5px;gap:3px}.led-dot{width:2px;height:12px}.bride-name,.groom-name{font-size:28px}.wax-seal{width:65px;height:65px}.seal-monogram{font-size:18px}.envelope-addressing{bottom:30px;left:20px;right:100px}.address-name{font-size:16px}}.App{min-height:100vh;position:relative;width:100%;margin:0;padding:0;background:linear-gradient(to bottom,var(--light-color) 0%,var(--lighter-color) 50%,var(--lightest-color) 100%)}.main-content{min-height:calc(100vh - 80px);width:100%;margin:0;padding:0}.page-container{max-width:1200px;margin:0 auto;padding:100px 40px 60px;width:100%;box-sizing:border-box}.page-header{text-align:center;margin-bottom:60px;animation:fadeInDown .8s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.page-title{font-family:var(--font-heading);font-size:4rem;font-weight:600;font-style:normal;color:var(--dark-color);margin-bottom:20px;letter-spacing:1px}.page-subtitle{font-family:var(--font-body);font-size:1.3rem;font-style:normal;color:var(--medium-color);font-weight:400}.section{margin-bottom:80px;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:600;font-style:normal;color:var(--dark-color);margin-bottom:30px;text-align:center}.card{background:var(--white);padding:40px;border-radius:12px;box-shadow:0 8px 30px #00000026;border:2px solid rgba(212,175,55,.3);margin-bottom:30px;position:relative;transition:all .3s ease}.card:hover{transform:scale(1.02);box-shadow:0 12px 40px #d4af374d;border-color:var(--primary-color)}.card:before{content:"";position:absolute;top:-10px;left:20px;width:60px;height:5px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:3px}.card h3{font-family:var(--font-heading);font-size:2rem;font-weight:600;font-style:normal;color:var(--dark-color);margin-bottom:20px}.card p{font-family:var(--font-body);font-size:1.1rem;font-style:normal;line-height:1.8;color:#4a4a4a;margin-bottom:15px}@media (max-width: 768px){.page-title{font-size:2.5rem;letter-spacing:1px}.page-subtitle{font-size:1rem}.section-title{font-size:1.8rem}.card{padding:25px 20px}.page-container{padding:80px 20px 40px}.card h3{font-size:1.5rem}.card p{font-size:.95rem}}@media (max-width: 480px){.page-title{font-size:2rem}.section-title{font-size:1.5rem}.page-container{padding:80px 15px 40px}}*{margin:0;padding:0;box-sizing:border-box}html{width:100%;overflow-x:hidden}:root{--primary-color: #d4af37;--secondary-color: #b8860b;--accent-color: #daa520;--dark-color: #2c2416;--medium-color: #6d5d4b;--light-color: #f5f0e8;--lighter-color: #fffbf0;--lightest-color: #f5e6d3;--white: #FFFFFF;--font-heading: "Playfair Display", serif;--font-body: "Montserrat", sans-serif}body{font-family:var(--font-body);color:var(--dark-color);background:linear-gradient(to bottom,var(--light-color) 0%,var(--lighter-color) 50%,var(--lightest-color) 100%);line-height:1.6;overflow-x:hidden;margin:0;padding:0;width:100%;font-style:normal}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;font-style:normal}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;outline:none;font-family:inherit}#root{min-height:100vh;width:100%;margin:0;padding:0}
