@import"https://fonts.googleapis.com/css2?family=Great+Vibes&display=swap";@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;margin-right:40px;flex-shrink:0}.navbar-logo:hover{color:var(--primary-color)}.nav-menu{display:flex;list-style:none;gap:clamp(16px,2vw,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}.welcome-link{color:var(--primary-color);font-weight:600;text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}.welcome-link:hover{color:var(--secondary-color)}.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}}.itinerary-page .section{max-width:800px;margin-left:auto;margin-right:auto;margin-bottom:60px}.itinerary-page .card{padding:35px 40px}.itinerary-page .card p{margin-bottom:10px}.itinerary-page .card p:last-child{margin-bottom:0}.cultural-description{background:var(--light-color);border-left:3px solid var(--accent-color);padding:15px 20px;border-radius:0 8px 8px 0;margin-top:15px;margin-bottom:15px;color:var(--medium-color);font-style:italic;line-height:1.7}.itinerary-page .card p.attire-footnote{font-size:.85rem;color:var(--medium-color);margin-top:8px}.event-note{color:var(--medium-color);font-style:italic}@media (max-width: 768px){.itinerary-page .section{margin-bottom:40px}.itinerary-page .card{padding:25px 20px}.cultural-description{padding:12px 15px}}.hotel-info-page{background:linear-gradient(to bottom,var(--lightest-color) 0%,var(--light-color) 100%)}.hotel-blurb{background:var(--white);border-radius:16px;padding:30px 35px;box-shadow:0 6px 20px #00000014;border-left:4px solid var(--primary-color);max-width:800px;margin:0 auto;text-align:center}.hotel-blurb p{font-size:1.05rem;line-height:1.8;color:var(--text-color);margin:0 0 15px}.hotel-blurb p:last-child{margin-bottom:0}.venue-featured{position:relative;background:var(--white);border-radius:16px;padding:40px 35px 35px;box-shadow:0 8px 30px #d4af3733;border:2px solid var(--primary-color);max-width:900px;margin:0 auto}.venue-featured .venue-badge{position:absolute;top:-12px;left:25px;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}.venue-featured-content{display:flex;gap:30px;align-items:center}.venue-featured-photo{flex:0 0 350px;height:250px;border-radius:12px;overflow:hidden}.venue-featured-photo .hotel-photo{width:100%;height:100%;object-fit:cover}.venue-featured-details{flex:1;display:flex;flex-direction:column;gap:10px}.venue-featured-name{margin:0}.venue-featured-name .hotel-name-link{font-size:1.8rem}.venue-featured-address{font-size:.95rem;color:var(--medium-color);margin:0}.venue-featured-description{font-size:1.05rem;line-height:1.7;color:var(--text-color);margin:5px 0 10px}.hotel-blocks-blurb{font-size:1.05rem;line-height:1.8;color:var(--text-color);max-width:800px;margin:0 auto 10px;text-align:center}.hotels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px;margin-top:20px}.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)}.hotel-photo-container{width:100%;height:200px;border-radius:10px;overflow:hidden;background:var(--light-color)}.hotel-photo{width:100%;height:100%;object-fit:cover;display:block}.hotel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:0;min-height:5.5em}.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-info{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 0 10px}.hotel-distance{font-size:.95rem;color:var(--medium-color);margin:0}.hotel-address{font-size:.9rem;color:var(--medium-color);margin:0}.hotel-rates-row{display:flex;gap:56px;margin:16px 0 0;justify-content:center}.hotel-rate-item{display:flex;flex-direction:column;align-items:center;gap:4px}.rate-beds{display:flex;gap:2px;color:var(--primary-color)}.bed-icon{display:block}.rate-price{font-size:.85rem;color:var(--text-color);font-weight:600}.hotel-book-by{font-size:.85rem;color:var(--primary-color);font-weight:600;margin:4px 0 8px;text-align:center}.hotel-footer{display:flex;justify-content:flex-end;align-items:center;gap:10px;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}@media (max-width: 768px){.hotels-grid{grid-template-columns:1fr}.venue-featured-content{flex-direction:column}.venue-featured-photo{flex:none;width:100%;height:200px}.hotel-header{flex-direction:column;align-items:flex-start}.hotel-footer{flex-direction:column;align-items:stretch;gap:15px}.book-button{text-align:center}.hotel-blurb{padding:25px 20px}}@media (max-width: 500px){.hotel-card{padding:20px}.hotel-name-link{font-size:1.2rem}.hotel-photo-container{height:160px}}@media (max-width: 480px){.venue-badge{display:block;margin-bottom:8px;width:fit-content}}@media print{.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:16px 28px 28px;color:#4a4a4a;line-height:1.8;font-size:1.05rem;font-style:normal;font-family:Montserrat,sans-serif}.faq-answer a{color:inherit;text-decoration:underline;transition:color .3s ease}.faq-answer a:hover{color:var(--primary-color)}.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}}.registry-page{background:linear-gradient(to bottom,var(--lightest-color) 0%,var(--light-color) 100%)}.registry-card{background:var(--white);border-radius:16px;padding:50px 40px;box-shadow:0 8px 30px #0000001a;border:2px solid rgba(212,175,55,.2);max-width:700px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}.registry-icon{color:var(--primary-color);margin-bottom:5px}.registry-message{font-size:1.1rem;line-height:1.8;color:var(--text-color);margin:0;max-width:560px}.registry-optional{font-size:1rem;line-height:1.8;color:var(--medium-color);font-style:italic;margin:0}.registry-button{display:inline-block;margin-top:10px;padding:14px 32px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:var(--white);text-decoration:none;border-radius:25px;font-weight:600;font-size:1.05rem;transition:all .3s ease;box-shadow:0 4px 12px #d4af374d}.registry-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #d4af3766}@media (max-width: 768px){.registry-card{padding:40px 25px}.registry-message{font-size:1.05rem}.registry-button{font-size:1rem;padding:12px 28px}}@media (max-width: 480px){.registry-card{padding:30px 20px}.registry-message{font-size:.95rem}}.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}.btn-export{padding:.75rem 1.5rem;background:linear-gradient(135deg,#4285f4,#357ae8);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-export:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4285f44d}.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;white-space:nowrap}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-th:hover{opacity:.85}.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-haldi{background:#f9a825;color:#fff}.badge-rehearsal{background:#9c27b0;color:#fff}.haldi-cell{text-align:center}.haldi-inline-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#f9a825}.haldi-inline-checkbox.changed{outline:2px solid #f9a825;outline-offset:2px;border-radius:2px}.haldi-save-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;background:#fff8e1;border:2px solid #f9a825;border-radius:12px;padding:16px 24px;margin-top:20px;box-shadow:0 -4px 20px #0000001a;z-index:10}.haldi-save-text{font-weight:600;color:#5d4037;font-size:.95rem}.haldi-save-actions{display:flex;gap:12px}.haldi-save-bar .btn-save{background:linear-gradient(135deg,#f9a825,#f57f17);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem}.haldi-save-bar .btn-save:hover:not(:disabled){box-shadow:0 4px 15px #f9a82566}.haldi-save-bar .btn-save:disabled{opacity:.6;cursor:not-allowed}.haldi-save-bar .btn-cancel{background:#fff;color:#5d4037;border:1px solid #bdbdbd;padding:10px 24px;border-radius:8px;font-weight:500;cursor:pointer;font-size:.9rem}.haldi-save-bar .btn-cancel:hover:not(:disabled){background:#f5f5f5}.rehearsal-cell{text-align:center}.rehearsal-inline-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#9c27b0}.rehearsal-inline-checkbox.changed{outline:2px solid #9c27b0;outline-offset:2px;border-radius:2px}.rehearsal-save-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;background:#f3e5f5;border:2px solid #9c27b0;border-radius:12px;padding:16px 24px;margin-top:20px;box-shadow:0 -4px 20px #0000001a;z-index:10}.rehearsal-save-text{font-weight:600;color:#4a148c;font-size:.95rem}.rehearsal-save-actions{display:flex;gap:12px}.rehearsal-save-bar .btn-save{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem}.rehearsal-save-bar .btn-save:hover:not(:disabled){box-shadow:0 4px 15px #9c27b066}.rehearsal-save-bar .btn-save:disabled{opacity:.6;cursor:not-allowed}.rehearsal-save-bar .btn-cancel{background:#fff;color:#4a148c;border:1px solid #bdbdbd;padding:10px 24px;border-radius:8px;font-weight:500;cursor:pointer;font-size:.9rem}.rehearsal-save-bar .btn-cancel:hover:not(:disabled){background:#f5f5f5}.rsvp-badges{display:flex;gap:.25rem;flex-wrap:wrap}.badge-attending{background:#4caf50;color:#fff}.badge-declined{background:#f44336;color:#fff}.no-rsvp{font-size:.75rem;color:var(--medium-color);font-style:italic}.rsvp-edit-section{margin-top:10px;padding-top:15px;border-top:1px solid rgba(212,175,55,.2)}.section-label{font-weight:600;font-size:1.05rem;display:block;margin-bottom:10px}.rsvp-edit-grid{display:flex;flex-direction:column;gap:10px}.rsvp-edit-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.rsvp-event-name{font-size:.95rem;font-weight:500;flex:1}.rsvp-select{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:.9rem;min-width:150px}.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}.invitations-section-title{font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:700;color:var(--dark-color);margin-bottom:1rem}.invitations-table .family-row{cursor:pointer;transition:background .2s ease}.invitations-table .family-row:hover{background:#d4af3714}.expand-cell{width:30px;text-align:center;font-size:1.1rem;color:var(--medium-color)}.link-cell{max-width:300px}.invitation-link-text{display:inline-block;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:var(--medium-color);font-family:monospace}.btn-copy{padding:.4rem .8rem;background:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-copy:hover{background:var(--secondary-color);transform:translateY(-1px)}.btn-copy.copied{background:#4caf50}.expanded-row td{padding:0!important;background:#d4af3708}.family-members-dnd{padding:1rem 1.5rem}.dnd-hint{font-size:.85rem;color:var(--medium-color);margin:0 0 .75rem;font-style:italic;font-family:Montserrat,sans-serif}.sortable-member{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;margin-bottom:4px;background:#fff;border:1px solid rgba(212,175,55,.2);border-radius:6px;font-family:Montserrat,sans-serif;transition:box-shadow .2s ease}.sortable-member:hover{box-shadow:0 2px 8px #00000014}.sortable-member.dragging{box-shadow:0 4px 16px #d4af374d;z-index:10}.drag-handle{cursor:grab;font-size:1.2rem;color:var(--medium-color);-webkit-user-select:none;user-select:none;line-height:1}.drag-handle:active{cursor:grabbing}.member-title{font-size:.85rem;color:var(--medium-color);min-width:40px}.member-name{font-size:.95rem;font-weight:500;color:var(--dark-color)}@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%}.invitation-link-text{max-width:160px;font-size:.75rem}.link-cell{max-width:180px}}.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-deadline-banner{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid var(--secondary-color);border-radius:16px;padding:24px 32px;margin-bottom:40px;display:flex;align-items:center;justify-content:center;gap:16px;box-shadow:0 4px 15px #d4af3733}.deadline-icon{font-size:2rem;line-height:1}.deadline-text{font-size:1.2rem;color:var(--dark-color);font-weight:500;margin:0;font-family:Montserrat,sans-serif}.deadline-text strong{color:var(--primary-color)}.apply-all-footer{padding:16px 24px;text-align:center;background:linear-gradient(135deg,#f0f6fa,#e4eef5);border-top:2px solid rgba(212,175,55,.3)}.btn-apply-all-footer{padding:12px 28px;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4a90e240;font-family:Montserrat,sans-serif;letter-spacing:.5px;width:100%}.btn-apply-all-footer:hover:not(:disabled){box-shadow:0 6px 20px #4a90e259;background:linear-gradient(135deg,#357abd,#2a5c94)}.btn-apply-all-footer:disabled{opacity:.5;cursor:not-allowed}.apply-all-footer .apply-all-hint{margin:8px 0 0;font-size:.8rem;color:#5a7a9a;font-style:italic}.rsvp-grid-wrapper{background:#fff;border-radius:16px;box-shadow:0 8px 30px #0000001f;border:2px solid rgba(212,175,55,.3);overflow:hidden}.rsvp-grid-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.rsvp-grid{width:100%;border-collapse:collapse;min-width:500px}.rsvp-grid thead{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.rsvp-grid-corner{padding:20px 24px;text-align:left;font-family:Playfair Display,serif;font-weight:600;font-size:1.1rem;color:#fff;min-width:200px;border-right:1px solid rgba(255,255,255,.2)}.rsvp-grid-member-header{padding:20px 16px;text-align:center;font-family:Playfair Display,serif;font-weight:600;font-size:1.1rem;color:#fff;min-width:160px;border-right:1px solid rgba(255,255,255,.2)}.rsvp-grid-member-header:last-child{border-right:none}.rsvp-grid-row{border-bottom:1px solid #eee}.rsvp-grid-row:last-child{border-bottom:none}.rsvp-grid-row:nth-child(2n){background:#fafafa}.rsvp-grid-event-cell{padding:24px;border-right:1px solid #eee;vertical-align:middle}.grid-event-name{display:block;font-family:Playfair Display,serif;font-weight:600;font-size:1.15rem;color:var(--dark-color);margin-bottom:4px}.grid-event-date{display:block;font-size:.85rem;color:#8b6914;font-style:italic}.rsvp-grid-cell{padding:16px 12px;text-align:center;vertical-align:middle;border-right:1px solid #eee}.rsvp-grid-cell:last-child{border-right:none}.rsvp-grid-cell.not-invited{background:#f5f5f5}.not-invited-text{font-size:.85rem;color:#999;font-style:italic}.grid-toggle-group{display:flex;flex-direction:column;gap:8px;align-items:center}.grid-toggle-btn{width:130px;padding:10px 8px;border:2px solid #ddd;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:#fff;color:var(--dark-color);font-family:Montserrat,sans-serif}.grid-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.grid-toggle-btn.attending.active{background:linear-gradient(135deg,#27ae60,#2ecc71);border-color:#27ae60;color:#fff;box-shadow:0 3px 12px #2ecc714d}.grid-toggle-btn.not-attending.active{background:linear-gradient(135deg,#c0392b,#e74c3c);border-color:#c0392b;color:#fff;box-shadow:0 3px 12px #e74c3c4d}.rsvp-validation-error{text-align:center;color:#c0392b;font-size:1rem;font-weight:500;margin-top:24px;padding:12px 20px;font-family:Montserrat,sans-serif}.rsvp-submit-section{margin-top:40px;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:40px}.confirmation-grid{text-align:left;margin-bottom:40px}.confirmation-grid .rsvp-grid-cell{padding:20px 16px}.summary-status{display:inline-block;padding:6px 14px;border-radius:20px;font-weight:500;font-size:.85rem;white-space:nowrap}.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}.calendar-export-section{margin-top:50px;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);text-align:left}.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}.calendar-events-list{display:flex;flex-direction:column;gap:12px}.calendar-event-row{display:flex;align-items:center;justify-content:space-between;gap:15px}.calendar-event-label{font-size:1rem;font-weight:500;color:#333}.calendar-event-row .btn-calendar{flex:0 0 auto;min-width:auto}.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;background:linear-gradient(135deg,#4285f4,#357ae8);color:#fff;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:0}@media (max-width: 768px){.page-container{padding:100px 20px 60px}.page-title{font-size:3rem}.page-subtitle{font-size:1.1rem}.rsvp-deadline-banner{padding:18px 20px;flex-direction:column;gap:8px}.deadline-text{font-size:1.05rem;text-align:center}.rsvp-grid-corner{min-width:150px;padding:16px;font-size:1rem}.rsvp-grid-member-header{min-width:130px;padding:16px 12px;font-size:1rem}.rsvp-grid-event-cell{padding:16px}.grid-event-name{font-size:1rem}.grid-toggle-btn{width:110px;padding:8px 6px;font-size:.8rem}.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}.btn-submit-rsvp{width:100%;padding:16px 30px}.rsvp-grid-corner{min-width:120px;padding:12px;font-size:.9rem}.rsvp-grid-member-header{min-width:110px;padding:12px 8px;font-size:.9rem}.grid-toggle-btn{width:100px;padding:7px 4px;font-size:.75rem}}.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:100px 20px 80px;position:relative;font-family:Montserrat,sans-serif;font-style:normal;opacity:1;transition:opacity .35s ease-out}.our-story-container.story-fading-out{opacity:0}.story-header{text-align:center;margin-bottom:60px;position:relative;z-index:10}.story-header h1{font-family:Playfair Display,serif;font-size:3.5rem;font-weight:600;font-style:normal;color:#2c2416;margin-bottom:20px;animation:fadeInDown .8s ease-out}.switch-perspective-button{padding:10px 28px;font-size:.9rem;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:900px;margin:0 auto;position:relative;z-index:5;display:flex;flex-direction:column}.story-item{margin-bottom:0;opacity:0;transform:translateY(60px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1);overflow:visible;min-height:0;width:auto}.story-item.visible{opacity:1;transform:translateY(0)}.story-item.card:nth-child(16n+1).visible{transform:translateY(0) rotate(2deg)}.story-item.card:nth-child(16n+3).visible{transform:translateY(0) rotate(-2.5deg)}.story-item.card:nth-child(16n+5).visible{transform:translateY(0) rotate(1.5deg)}.story-item.card:nth-child(16n+7).visible{transform:translateY(0) rotate(-3deg)}.story-item.card:nth-child(16n+9).visible{transform:translateY(0) rotate(2.5deg)}.story-item.card:nth-child(16n+11).visible{transform:translateY(0) rotate(-1.5deg)}.story-item.card:nth-child(16n+13).visible{transform:translateY(0) rotate(3deg)}.story-item.card:nth-child(16n+15).visible{transform:translateY(0) rotate(-2deg)}.story-item.photo:nth-child(16n+2).visible{transform:translateY(0) rotate(-4.5deg)}.story-item.photo:nth-child(16n+4).visible{transform:translateY(0) rotate(3deg)}.story-item.photo:nth-child(16n+6).visible{transform:translateY(0) rotate(-2deg)}.story-item.photo:nth-child(16n+8).visible{transform:translateY(0) rotate(5deg)}.story-item.photo:nth-child(16n+10).visible{transform:translateY(0) rotate(-3.5deg)}.story-item.photo:nth-child(16n+12).visible{transform:translateY(0) rotate(4.5deg)}.story-item.photo:nth-child(16n+14).visible{transform:translateY(0) rotate(-5deg)}.story-item.photo:nth-child(16n+16).visible{transform:translateY(0) rotate(2deg)}.story-item.left{align-self:flex-start;padding-left:40px}.story-item.right{align-self:flex-end;padding-right:40px}.story-photo-container{display:inline-block;padding:8px;background:#fff;border-radius:4px;box-shadow:0 6px 24px #00000024,0 2px 6px #00000014;transition:all .4s ease;max-height:none;overflow:visible;width:fit-content}.story-photo-container:hover{box-shadow:0 14px 40px #0003,0 4px 12px #0000001a}.story-photo{width:100%;max-width:380px;height:auto;display:block;border-radius:2px;object-fit:contain}.story-card{display:inline-block;max-width:260px;padding:16px 20px;background:transparent;border-radius:0;box-shadow:none;border:none;border-left:3px solid #d4af37;position:relative;transition:all .3s ease;text-align:left}.story-card:hover{border-color:#b8860b}.story-card:before{display:none}.story-card h2{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:600;font-style:italic;color:#2c2416;margin-bottom:6px;margin-top:0}.story-card p{font-size:1rem;line-height:1.65;color:#5a5147;margin:0;font-family:Montserrat,sans-serif;font-style:normal;font-weight:400}.story-footer{text-align:center;margin-top:80px;padding-top:40px}@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:2.8rem}.story-item.left{padding-left:20px}.story-item.right{padding-right:20px}.story-photo{max-width:100%}.story-card{max-width:85%}}@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{padding:16px 18px}.story-card h2{font-size:1.3rem}.story-card p{font-size:.9rem}.story-photo{max-width:100%}.story-photo-container{padding:6px}}: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:60%;left:50%;transform:translate(-50%,-50%);text-align:center;width:80%}.envelope-front .address-name{font-family:Great Vibes,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,#efe9de,#e9e3d6 40%,#e0d9cb);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(.5% 100%,50% 1.5%,99.5% 100%);backface-visibility:hidden;transform:rotateX(180deg);background:linear-gradient(180deg,#d4b062,#c9a44e,#b8923d 60%,#a67f35);box-shadow:inset 0 0 30px #0000001a}.envelope-pocket-clip{position:absolute;top:0;left:0;width:100%;height:100%;clip-path:polygon(0% 0%,0% -200vh,100% -200vh,100% 0%,50% 52.5%);z-index:1}.pocket-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg);width:240px;height:320px;background:linear-gradient(to bottom,#fffef9,#fdfbf7);border:1px solid rgba(44,36,22,.3);overflow:hidden}.pocket-card-inner{width:550px;position:absolute;top:0;left:0;transform:scale(.4364);transform-origin:top left;pointer-events:none}.pocket-card-content{text-align:center;padding:15px}.pocket-card-names{font-family:Playfair Display,serif;font-size:16px;color:#2c2416;margin:0 0 10px;letter-spacing:1px;font-weight:400}.pocket-card-detail{font-family:Georgia,serif;font-size:10px;color:#2c2416;margin:2px 0;letter-spacing:.5px}.envelope-back-side .wax-seal{position:absolute;top:85%;left:50%;transform:translate(-50%,-50%) rotate(-3deg);width:85px;height:85px;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 38% 35%,#a83252,#8b2245,#751a3a,#5e1230,#4a0e26);border-radius:46% 54% 50% 50%/51% 49%;box-shadow:0 5px 12px #0006,0 10px 30px #4b0e2659,inset 4px 4px 10px #c878964d,inset -4px -4px 10px #00000073,inset 0 0 20px #0000001a}.envelope-back-side .wax-seal:after{content:"";position:absolute;bottom:-7px;left:55%;transform:translate(-50%);width:22px;height:15px;background:radial-gradient(ellipse at 50% 0%,#751a3a,#5e1230 60%,#4a0e26);border-radius:40% 40% 50% 50%;box-shadow:inset 1px 1px 3px #c8789626,inset -1px -1px 3px #0000004d,0 2px 4px #00000040}.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,.3) 0%,transparent 28%),radial-gradient(circle at 25% 30%,rgba(200,140,160,.15) 0%,transparent 20%),radial-gradient(circle at 72% 75%,rgba(0,0,0,.3) 0%,transparent 30%),radial-gradient(circle at 55% 25%,rgba(0,0,0,.08) 0%,transparent 12%);pointer-events:none;z-index:4}.seal-stamp{position:absolute;width:64px;height:64px;border-radius:50%;z-index:3;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 45% 42%,#6b1a38,#5a1530,#4a1028 80%,#3e0c22);box-shadow:inset 2px 2px 4px #c8829b40,inset -2px -2px 4px #00000059,inset 0 0 8px #00000026,0 1px 2px #00000026}.seal-stamp-rim{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;border:1.5px solid rgba(0,0,0,.12);box-shadow:inset 1px 1px 2px #c88ca026,inset -1px -1px 2px #0003;pointer-events:none}.seal-stamp-inner{display:flex;align-items:center;justify-content:center;gap:3px;z-index:3;position:relative}.seal-monogram{font-family:Cinzel,Times New Roman,serif;font-size:18px;font-weight:700;letter-spacing:1px;color:#3e0c22;text-shadow:-1px -1px 1px rgba(200,140,160,.3),1px 1px 1px rgba(0,0,0,.4),0 0 3px rgba(0,0,0,.15)}.seal-ampersand{font-family:Cinzel,Times New Roman,serif;font-size:12px;font-weight:400;color:#3e0c22;text-shadow:-1px -1px 1px rgba(200,140,160,.3),1px 1px 1px rgba(0,0,0,.4),0 0 3px rgba(0,0,0,.15);margin-top:1px}.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}.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-wrapper.envelope-exiting{animation:envelopeSlideDown 1.2s cubic-bezier(.55,0,1,.45) forwards}@keyframes envelopeSlideDown{0%{transform:translateY(0)}to{transform:translateY(calc(50vh + 400px))}}.card-transition-wrapper{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;pointer-events:none}.card-transition-wrapper .card-transition{width:550px;position:relative;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;overflow:hidden;animation:cardExitAndZoom 2.5s linear forwards}@keyframes cardExitAndZoom{0%{transform:translateY(0) rotate(90deg) scale(.4364);animation-timing-function:cubic-bezier(.23,1,.32,1)}20%{transform:translateY(-160px) rotate(90deg) scale(.4364);animation-timing-function:ease-in-out}40%{transform:translateY(0) rotate(90deg) scale(.4364);animation-timing-function:cubic-bezier(.23,1,.32,1)}to{transform:rotate(0) scale(1)}}.envelope-body-mask{position:fixed;top:50%;left:50%;width:520px;height:340px;z-index:21;pointer-events:none;background:linear-gradient(165deg,#faf8f3,#f5f1e8,#efe9dc,#f2ede3,#f8f5ed);clip-path:polygon(0% 0%,50% 52.5%,100% 0%,100% 100%,0% 100%);animation:maskSlideDown 1.2s cubic-bezier(.55,0,1,.45) forwards}@keyframes maskSlideDown{0%{transform:translate(-50%,-50%)}to{transform:translate(-50%,calc(-50% + 50vh + 400px))}}.envelope-instruction.instruction-fade-out{animation:instructionFadeOut .5s ease forwards;pointer-events:none}@keyframes instructionFadeOut{0%{opacity:.6}to{opacity:0}}.envelope-opened{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;perspective:1000px;overflow:hidden;z-index:15}.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;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;z-index:10;overflow:hidden}.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%)}}@keyframes cardFadeIn{0%{opacity:0}to{opacity:1}}.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:70px;height:70px}.seal-stamp{width:52px;height:52px}.seal-monogram{font-size:15px}.seal-ampersand{font-size:10px}.envelope-addressing{bottom:30px;left:20px;right:100px}.address-name{font-size:16px}}.mobile-envelope-wrapper{width:85vw;max-width:400px;aspect-ratio:520 / 340;position:relative;cursor:pointer;animation:floatIn 1s ease-out;z-index:10}.mobile-envelope-wrapper.dropping{animation:mobileEnvelopeDrop 1s cubic-bezier(.55,0,1,.45) forwards;pointer-events:none}@keyframes mobileEnvelopeDrop{0%{transform:translateY(0);opacity:1}to{transform:translateY(calc(50vh + 300px));opacity:0}}.mobile-envelope-flipper{width:100%;height:100%}.mobile-envelope-flipper.flip-out{animation:mobileFlipOut .4s ease-in forwards}.mobile-envelope-flipper.flipped{animation:mobileFlipIn .4s ease-out forwards}@keyframes mobileFlipOut{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes mobileFlipIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.mobile-envelope-front{width:100%;height:100%;border-radius:4px;position:relative;background:linear-gradient(165deg,#faf8f3,#f5f1e8,#efe9dc,#f2ede3,#f8f5ed);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}.mobile-envelope-front .return-address{position:absolute;top:18px;left:20px}.mobile-envelope-front .envelope-addressing{position:absolute;top:65%;left:50%;transform:translate(-50%,-50%);text-align:center;width:80%}.mobile-envelope-front .address-name{font-family:Great Vibes,cursive;font-size:26px;color:#2a2520;margin:0;line-height:1.3}.mobile-stamp{position:absolute;top:14px;right:18px;width:60px;height:75px;background:#fefefe;padding:3px;transform:rotate(1.5deg);box-shadow:0 1px 3px #0000001f,0 2px 6px #00000014;overflow:hidden}.mobile-stamp .stamp-image{width:100%;height:100%;overflow:hidden;position:relative}.mobile-stamp .stamp-image img{width:100%;height:100%;object-fit:cover;filter:sepia(.15) saturate(1.1)}.mobile-envelope-back{width:100%;height:100%;border-radius:4px;position:relative;overflow:visible;perspective:800px}.mobile-envelope-body{position:absolute;width:100%;height:100%;border-radius:4px;overflow:hidden;background:linear-gradient(165deg,#faf8f3,#f5f1e8,#efe9dc,#f2ede3,#f8f5ed);box-shadow:inset 0 0 0 1px #b4a0824d,inset 0 1px 2px #fff9,0 8px 25px #00000026,0 2px 6px #0000001a}.mobile-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}.mobile-pocket-clip{position:absolute;top:0;left:0;width:100%;height:100%;clip-path:polygon(0% 0%,0% -200vh,100% -200vh,100% 0%,50% 52.5%);z-index:1}.mobile-pocket-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg);background:linear-gradient(to bottom,#fffef9,#fdfbf7);border:1px solid rgba(44,36,22,.3);overflow:hidden}.mobile-pocket-card-inner{position:absolute;top:0;left:0;transform-origin:top left;pointer-events:none}.mobile-flap{position:absolute;top:0;left:0;width:100%;height:52.9%;transform-origin:top center;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;z-index:2;transition:transform .6s ease}.mobile-flap.open{transform:rotateX(-160deg)}.mobile-flap-outer{position:absolute;width:100%;height:100%;clip-path:polygon(0 0,50% 100%,100% 0);backface-visibility:hidden;-webkit-backface-visibility:hidden;background:linear-gradient(180deg,#efe9de,#e9e3d6 40%,#e0d9cb);box-shadow:inset 0 0 0 1px #b4a08240}.mobile-flap-inner{position:absolute;width:100%;height:100%;clip-path:polygon(.5% 100%,50% 1.5%,99.5% 100%);backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateX(180deg);background:linear-gradient(180deg,#d4b062,#c9a44e,#b8923d 60%,#a67f35)}.mobile-wax-seal{position:absolute;top:85%;left:50%;transform:translate(-50%,-50%) rotate(-3deg);z-index:3;transition:opacity .3s ease,transform .3s ease}.mobile-wax-seal.hidden{opacity:0;transform:translate(-50%,-50%) rotate(-3deg) scale(.5)}.mobile-seal-body{width:52px;height:52px;border-radius:46% 54% 50% 50%/51% 49%;background:radial-gradient(circle at 38% 35%,#a83252,#8b2245,#751a3a,#5e1230,#4a0e26);box-shadow:0 3px 8px #0006,0 6px 18px #4b0e2659,inset 3px 3px 8px #c878964d,inset -3px -3px 8px #00000073;display:flex;align-items:center;justify-content:center}.mobile-seal-stamp{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 45% 42%,#6b1a38,#5a1530,#4a1028 80%,#3e0c22);box-shadow:inset 1.5px 1.5px 3px #c8829b40,inset -1.5px -1.5px 3px #00000059,inset 0 0 6px #00000026;display:flex;align-items:center;justify-content:center;gap:2px}.mobile-seal-stamp .seal-monogram{font-size:13px}.mobile-seal-stamp .seal-ampersand{font-size:9px}.mobile-transition-wrapper{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:20;pointer-events:none}.mobile-transition-wrapper.interactive{pointer-events:auto}.mobile-transition-card{position:relative;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;overflow:hidden;animation:mobileCardExitAndZoom 2s linear forwards}@keyframes mobileCardExitAndZoom{0%{transform:translateY(0) rotate(90deg) scale(var(--mobile-card-scale));animation-timing-function:cubic-bezier(.23,1,.32,1)}25%{transform:translateY(-100px) rotate(90deg) scale(var(--mobile-card-scale));animation-timing-function:ease-in-out}45%{transform:translateY(0) rotate(90deg) scale(var(--mobile-card-scale));animation-timing-function:cubic-bezier(.23,1,.32,1)}to{transform:rotate(0) scale(1)}}.mobile-body-mask{position:fixed;top:50%;left:50%;width:85vw;max-width:400px;aspect-ratio:520 / 340;z-index:21;pointer-events:none;background:linear-gradient(165deg,#faf8f3,#f5f1e8,#efe9dc,#f2ede3,#f8f5ed);clip-path:polygon(0% 0%,50% 52.5%,100% 0%,100% 100%,0% 100%);animation:mobileMaskDrop 1s cubic-bezier(.55,0,1,.45) forwards}@keyframes mobileMaskDrop{0%{transform:translate(-50%,-50%)}to{transform:translate(-50%,calc(-50% + 50vh + 300px))}}.mobile-tap-instruction{position:absolute;bottom:calc(50% - 150px);left:50%;transform:translate(-50%);text-align:center;animation:pulse 2s ease-in-out infinite;z-index:10}.mobile-tap-instruction p{color:#8b6f47;font-size:16px;font-style:italic;margin:0}.family-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;animation:pickerFadeIn .3s ease}@keyframes pickerFadeIn{0%{opacity:0}to{opacity:1}}.family-picker-panel{background:linear-gradient(to bottom,#fffef9,#fdfbf7);border:1px solid rgba(212,175,55,.4);border-radius:8px;padding:35px 40px;max-width:400px;width:90vw;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #d4af3726,0 0 30px #d4af371a;text-align:center;animation:pickerSlideUp .3s ease}@keyframes pickerSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.family-picker-heading{font-family:Playfair Display,serif;font-size:22px;color:#2c2416;font-weight:400;letter-spacing:1px;margin:0 0 25px}.family-picker-list{display:flex;flex-direction:column;gap:12px}.family-picker-btn{background:#2c2416;color:#d4af37;border:1px solid #d4af37;padding:12px 24px;font-size:15px;font-family:Georgia,serif;letter-spacing:1px;cursor:pointer;transition:all .3s ease;border-radius:4px}.family-picker-btn:hover{background:#d4af37;color:#2c2416;transform:translateY(-1px);box-shadow:0 4px 12px #d4af374d}.family-picker-btn:active{transform:translateY(0)}.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}.card ul li:last-child{margin-bottom:0!important}.card a{color:inherit;text-decoration:none;transition:color .3s ease}.card a:hover{color:var(--primary-color)}@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}
