@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Montserrat:wght@400;600&family=Dancing+Script:wght@700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}body,#root{margin:0;padding:0;min-height:100vh;font-family:Montserrat,Arial,sans-serif;background:#fff;overflow-x:hidden}.wedding-hero-bg{min-height:100vh;width:100vw;background:url(/wedding-bg.webp) center center/cover no-repeat;position:relative;display:flex;flex-direction:column;z-index:1}.wedding-hero-bg:before{content:"";position:absolute;inset:0;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1}.wedding-nav{width:100vw;display:flex;justify-content:center;align-items:center;padding:1.2rem 0;position:relative;z-index:2;font-family:Montserrat,Arial,sans-serif;font-size:1rem;background:#141414bf;box-shadow:0 2px 16px #00000014}.nav-container{width:100%;max-width:1280px;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.nav-left,.nav-right{display:flex;gap:1.5rem;align-items:center}.nav-center{font-family:Playfair Display,serif;font-size:1.3rem;letter-spacing:.1em;font-weight:700;color:#fff}.wedding-nav a{color:#fff;text-decoration:none;font-weight:700;transition:color .2s}.wedding-nav a:hover{color:#ffe0e0}.rsvp-btn{background:#b22222;color:#fff;border:none;border-radius:4px;padding:.5rem 1.2rem;font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:background .2s,color .2s}.rsvp-btn:hover{background:#ffe0e0;color:#b22222}.wedding-hero-content{flex:1;width:100vw;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.hero-text{text-align:center;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.25)}.hero-subtitle{font-family:Montserrat,Arial,sans-serif;font-size:1.5rem;margin-bottom:1.5rem;font-weight:400}.hero-names{font-family:Playfair Display,serif;font-size:5vw;font-weight:700;margin-bottom:1.2rem;letter-spacing:.04em}.hero-date{font-family:Montserrat,Arial,sans-serif;font-size:2rem;font-weight:400}.countdown-stage{margin-top:2.5rem;font-family:Montserrat,Arial,sans-serif;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.25)}.countdown-label{display:block;font-size:1.1rem;margin-bottom:.5rem;font-weight:500}.countdown-values{font-size:2rem;font-family:Playfair Display,serif;letter-spacing:.1em;font-weight:700}.wedding-section{width:100vw;max-width:none;margin:0;padding:6rem 0 5rem;background:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;align-items:center}.wedding-section:nth-of-type(2n){background:#faf7f3}.wedding-section h2{font-family:Playfair Display,serif;font-size:2.2rem;margin-bottom:1.2rem;color:#b22222;text-align:center}.wedding-section p{font-size:1.15rem;color:#333;text-align:center;max-width:700px}.modal-overlay{position:fixed;inset:0;background:#00000073;z-index:20000;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:1.2rem;box-shadow:0 8px 40px #0000002e;padding:2.5rem 2rem 2rem;min-width:320px;max-width:98vw;width:600px;position:relative;display:flex;flex-direction:column;align-items:stretch;color:#222;box-sizing:border-box;max-height:90vh;overflow-y:auto;z-index:1}.modal h2{color:#b22222;text-align:center;margin-bottom:1.5rem}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;color:#b22222;cursor:pointer;z-index:1}.rsvp-form{display:flex;flex-direction:column;gap:1.1rem;margin-top:1rem}.rsvp-form label{font-size:1rem;color:#333;font-weight:500;display:flex;flex-direction:column;gap:.3rem}.rsvp-form input,.rsvp-form select{padding:.5rem .7rem;border:1px solid #ccc;border-radius:.4rem;font-size:1rem;font-family:Montserrat,Arial,sans-serif;margin-top:.2rem}.rsvp-form input[type=checkbox]{width:auto;margin-right:.5rem;accent-color:#b22222}.updates-checkbox{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.rsvp-submit{background:#b22222;color:#fff;border:none;border-radius:.4rem;padding:.7rem 0;font-size:1.1rem;font-family:Montserrat,Arial,sans-serif;font-weight:600;margin-top:.7rem;cursor:pointer;transition:background .2s}.rsvp-submit:hover{background:#a01c1c}.popup-message{position:fixed;top:2.5rem;left:50%;transform:translate(-50%);min-width:260px;max-width:90vw;background:#fff;color:#222;border-radius:.7rem;box-shadow:0 4px 24px #00000021;padding:1.1rem 2.5rem 1.1rem 1.5rem;z-index:2000;display:flex;align-items:center;gap:1.2rem;font-size:1.1rem;font-family:Montserrat,Arial,sans-serif;border-left:6px solid #b22222;animation:popup-fadein .2s}.popup-message.success{border-left-color:#2ecc40}.popup-message.error{border-left-color:#b22222}.popup-close{background:none;border:none;font-size:1.5rem;color:#b22222;cursor:pointer;margin-left:auto;padding:0 .2rem}@keyframes popup-fadein{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.guests-section{margin-top:1.2rem;background:#faf7f3;border-radius:.6rem;padding:1rem 1rem .5rem}.guests-header{display:flex;justify-content:space-between;align-items:center;font-weight:600;margin-bottom:.7rem}.add-guest-btn{background:#b22222;color:#fff;border:none;border-radius:.4rem;padding:.3rem 1rem;font-size:1rem;font-family:Montserrat,Arial,sans-serif;font-weight:600;cursor:pointer;transition:background .2s}.add-guest-btn:hover{background:#a01c1c}.guest-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.7rem}.guest-row input,.guest-row select{min-width:110px;max-width:160px;flex:1 1 110px;padding:.3rem .5rem;border:1px solid #ccc;border-radius:.3rem;font-size:1rem;font-family:Montserrat,Arial,sans-serif;box-sizing:border-box}.remove-guest-btn{background:none;border:none;color:#b22222;font-size:1.3rem;cursor:pointer;margin-left:.2rem;padding:0 .3rem;line-height:1}.remove-guest-btn:hover{color:#a01c1c}.hamburger{display:none;background:none;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;cursor:pointer;z-index:9000}.hamburger span{display:block;width:32px;height:3px;min-height:5px;margin:3px 0;background:#111!important;border-radius:2px;transition:.3s;box-sizing:content-box}.mobile-nav-overlay{position:fixed;inset:0;background:#00000073;z-index:9999;display:flex;align-items:flex-start;justify-content:flex-end}.mobile-nav{background:#fff;color:#222;width:80vw;max-width:320px;height:100vh;padding:2.5rem 1.5rem 1.5rem;box-shadow:-2px 0 24px #00000021;display:flex;flex-direction:column;gap:1.5rem;position:fixed;right:0;top:0;z-index:10000;font-size:1.2rem}.mobile-nav a{color:#b22222;text-decoration:none;font-weight:700;font-size:1.1rem}.mobile-nav-close{position:absolute;top:1.1rem;right:1.1rem;background:none;border:none;font-size:2rem;color:#b22222;cursor:pointer}.mobile-rsvp{margin-top:2rem;width:100%;font-size:1.1rem}.floating-rsvp{display:none;z-index:9000!important}.modal-spinner-overlay{position:absolute;inset:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;z-index:9999}.spinner{width:48px;height:48px;border:5px solid #eee;border-top:5px solid #b22222;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.about-section{background:linear-gradient(135deg,#fff8f3,#f9e6e6);border-radius:1.5rem;box-shadow:0 4px 32px #b2222212;padding:4rem 2rem 3rem;margin:3rem auto;max-width:900px;position:relative}.about-section h2{color:#b22222;font-size:2.5rem;margin-bottom:2rem}.about-section p{color:#3a2c2c;font-size:1.18rem;margin-bottom:1.3rem;line-height:1.7;text-align:left;max-width:800px}.about-signoff{margin-top:2.5rem;display:flex;flex-direction:column;align-items:flex-end;gap:.2rem}.about-signoff span:first-child{font-size:1.1rem;color:#b22222;font-family:Montserrat,Arial,sans-serif;margin-bottom:.2rem}.about-signature{font-family:Dancing Script,cursive;font-size:2.3rem;color:#b22222;letter-spacing:.04em;margin-top:.1rem;margin-right:.1em;text-shadow:0 2px 8px rgba(178,34,34,.07)}.password-overlay{position:fixed;inset:0;background:linear-gradient(120deg,#fff8f3,#f9e6e6);z-index:30000;display:flex;align-items:center;justify-content:center}.password-form{background:#fff;border-radius:1.2rem;box-shadow:0 8px 40px #b2222221;padding:2.5rem 2.5rem 2rem;display:flex;flex-direction:column;align-items:center;min-width:320px;max-width:90vw}.password-form h2{color:#b22222;margin-bottom:1.5rem;font-family:Playfair Display,serif;font-size:2rem}.password-form input[type=password]{padding:.7rem 1.2rem;border:1px solid #ccc;border-radius:.5rem;font-size:1.1rem;margin-bottom:1.2rem;width:220px;font-family:Montserrat,Arial,sans-serif}.password-form button{background:#b22222;color:#fff;border:none;border-radius:.5rem;padding:.7rem 2.2rem;font-size:1.1rem;font-family:Montserrat,Arial,sans-serif;font-weight:600;cursor:pointer;margin-bottom:.7rem;transition:background .2s}.password-form button:hover{background:#a01c1c}.password-error{color:#b22222;font-size:1rem;margin-top:.2rem;font-family:Montserrat,Arial,sans-serif}@media (max-width: 900px){.wedding-nav{flex-direction:column;gap:1rem;padding:1rem;background:none;box-shadow:none}.nav-container{padding:0 .5rem}.hero-names{font-size:2.5rem}.hero-date{font-size:1.2rem}.desktop-nav{display:none!important}.hamburger{display:flex;z-index:9000!important}.floating-rsvp{display:block;position:fixed;bottom:1.5rem;right:1.5rem;z-index:9000!important;background:#b22222;color:#fff;border:none;border-radius:50px;padding:1rem 2.2rem;font-size:1.2rem;font-family:Montserrat,Arial,sans-serif;font-weight:700;box-shadow:0 4px 24px #00000021;cursor:pointer;transition:background .2s}.floating-rsvp:hover{background:#a01c1c}.nav-center{color:#111}}@media (max-width: 700px){.about-section{padding:2.2rem .7rem 2rem;margin:2rem .2rem;border-radius:1rem}.about-section h2{font-size:2rem}.about-signature{font-size:1.5rem}}@media (max-width: 600px){.modal{width:98vw;min-width:unset;padding:1.2rem .5rem;z-index:1}.guest-row input,.guest-row select{min-width:80px;max-width:100%;flex:1 1 80px}.password-form{padding:1.2rem .5rem;min-width:unset}.password-form input[type=password]{width:100%;min-width:0}}
