.home-screen{width:100%;display:flex;align-items:center;justify-content:center;min-height:100vh;background:#fff;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px)}.home-container{background:transparent;padding:clamp(30px,8vw,60px) clamp(20px,5vw,40px);max-width:500px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(25px,5vw,40px)}.logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:20px}.at-logo{width:clamp(150px,40vw,200px);height:clamp(150px,40vw,200px);color:#8b0000}.home-title{font-size:clamp(2rem,8vw,3.5rem);color:#8b0000;margin-bottom:clamp(20px,5vw,40px);font-weight:400;letter-spacing:1px;font-family:Bobby Jones Soft,sans-serif}.home-subtitle{color:#8b0000;margin-bottom:clamp(30px,6vw,50px);font-size:clamp(1rem,3.5vw,1.4rem);font-weight:400;opacity:.8;font-family:Bobby Jones Soft,sans-serif}.code-form{display:flex;flex-direction:column;gap:30px}.input-group{width:100%}.code-input{width:100%;padding:clamp(12px,2vw,15px) 0;font-size:clamp(1rem,3vw,1.3rem);border:none;border-bottom:2px solid #8B0000;background:transparent;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;color:#8b0000;text-align:center}.code-input::placeholder{color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif}.code-input:focus{outline:none;border-bottom-color:#8b0000;border-bottom-width:3px}.code-input:disabled{opacity:.5;cursor:not-allowed}.submit-button{width:100%;padding:clamp(16px,2.5vw,18px);font-size:clamp(1.1rem,3.5vw,1.5rem);background:transparent;color:#8b0000;border:2px solid #8B0000;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:1px;margin-top:clamp(15px,3vw,20px);min-height:44px}.heart-button-container{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vw,15px);margin-top:clamp(20px,4vw,30px)}.heart-button{width:auto;min-width:50px;max-width:70px;padding:clamp(8px,1.5vw,12px);border-radius:50%;border:none;background:transparent;margin:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.heart-icon{font-size:clamp(1.8rem,5vw,2.5rem);line-height:1;color:#8b0000;transition:all .3s ease;display:block}.heart-button:hover:not(:disabled) .heart-icon{transform:scale(1.15)}.heart-button:active:not(:disabled) .heart-icon{transform:scale(1.05)}.heart-button:disabled{opacity:.5;cursor:not-allowed}.heart-button:disabled .heart-icon{opacity:.5}.heart-hint{font-size:clamp(.65rem,1.8vw,.75rem);color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif;margin:0;text-align:center}.loading-message{color:#8b0000;font-size:clamp(.9rem,2.5vw,1.1rem);text-align:center;margin-top:-20px;font-family:Bobby Jones Soft,sans-serif;opacity:.6;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.9}}@media screen and (max-width:768px){.logo-container{display:none}}.email-screen{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#fff;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px);position:relative}.email-header{position:absolute;top:20px;left:20px;z-index:10}.back-button{background:transparent;border:none;color:#8b0000;font-size:clamp(1.2rem,3.5vw,1.5rem);width:clamp(40px,10vw,45px);height:clamp(40px,10vw,45px);min-width:44px;min-height:44px;cursor:pointer;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;display:flex;align-items:center;justify-content:center;border-radius:20px}.back-button:hover{background:#8b0000;color:#fff}.email-container{background:transparent;border-radius:0;padding:clamp(70px,15vw,100px) clamp(20px,5vw,40px) clamp(40px,8vw,60px) clamp(20px,5vw,40px);box-shadow:none;max-width:600px;width:100%;text-align:center;margin-top:clamp(30px,8vw,60px)}.email-title{font-size:clamp(2rem,8vw,3.5rem);color:#8b0000;margin-bottom:clamp(15px,3vw,20px);font-weight:400;letter-spacing:1px;font-family:Bobby Jones Soft,sans-serif}.email-subtitle{color:#8b0000;margin-bottom:clamp(30px,6vw,50px);font-size:clamp(1rem,3.5vw,1.4rem);font-weight:400;opacity:.8;font-family:Bobby Jones Soft,sans-serif}.email-form{display:flex;flex-direction:column;gap:30px}.input-group{width:100%;text-align:left}.email-input{width:100%;padding:clamp(12px,2vw,15px) 0;font-size:clamp(1rem,3vw,1.3rem);border:none;border-bottom:2px solid #8B0000;background:transparent;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;color:#8b0000;min-height:44px}.email-input::placeholder{color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif}.address-input{width:100%;padding:clamp(12px,2vw,15px) 0;font-size:clamp(1rem,3vw,1.3rem);border:none;border-bottom:2px solid #8B0000;background:transparent;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;resize:vertical;min-height:clamp(70px,12vw,80px);color:#8b0000}.address-input::placeholder{color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif}.email-input:focus,.address-input:focus{outline:none;border-bottom-color:#8b0000;border-bottom-width:3px}.email-input:disabled,.address-input:disabled{opacity:.5;cursor:not-allowed}.submit-button{width:100%;padding:clamp(10px,2vw,10px) clamp(15px,3vw,20px);font-size:clamp(1rem,3vw,1.3rem);background:transparent;color:#8b0000;border:1px solid #8B0000;border-radius:20px;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:.5px;margin-top:clamp(15px,3vw,20px);min-height:44px}.submit-button:hover:not(:disabled){background:#8b0000;color:#fff}.submit-button:active:not(:disabled){transform:scale(.98)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#8b0000;font-size:clamp(.9rem,2.5vw,1.1rem);text-align:center;margin-top:-20px;font-family:Bobby Jones Soft,sans-serif;opacity:.8}@font-face{font-family:Bobby Jones Soft;src:url(/fonts/bobby-jones-soft-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bobby Jones Soft Outline;src:url(/fonts/bobby-jones-soft-outline.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}.wedding-home-screen{width:100%;display:flex;align-items:center;justify-content:center;min-height:100vh;background:#fff;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px);position:relative;font-family:Bobby Jones Soft,sans-serif}.wedding-home-title{position:absolute;top:clamp(15px,3vw,20px);left:clamp(15px,3vw,20px);z-index:10;font-family:Bobby Jones Soft,sans-serif;font-size:clamp(1.2rem,4vw,1.8rem);color:#8b0000;letter-spacing:2px;font-weight:400;text-transform:uppercase;padding:clamp(8px,2vw,10px) clamp(15px,3vw,20px);cursor:pointer;transition:all .3s ease}.wedding-home-title:hover{opacity:.7}.wedding-home-header{position:absolute;top:20px;right:20px;z-index:10}.wedding-home-container{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:800px;width:100%;gap:clamp(25px,5vw,40px)}.images-container{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:20px}.front-page-image-container{position:relative;width:100%;max-width:clamp(250px,70vw,300px)}.front-page-image{width:100%;height:auto;border-radius:20px;object-fit:cover;display:block}.love-image-overlay{position:absolute;bottom:0;right:0;width:clamp(80px,25vw,120px);height:clamp(80px,25vw,120px);z-index:2;transform:translate(20%,20%)}.love-image{width:100%;height:100%;object-fit:contain}.buttons-container{display:flex;flex-direction:column;gap:clamp(20px,4vw,30px);width:100%;align-items:center}.buttons-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;width:100%;justify-content:center}.buttons-row.second-row{justify-content:center}.wedding-button{flex:1;min-width:clamp(180px,50vw,200px);max-width:300px;padding:clamp(10px,2vw,12px) clamp(15px,3vw,20px);font-size:clamp(1.1rem,3.5vw,1.4rem);background:transparent;color:#8b0000;border:none;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:1px;text-align:center;position:relative;min-height:44px}.wedding-button,.wedding-button span,.rsvp-button,.schedule-button,.love-story-button{font-size:clamp(1.1rem,3.5vw,1.4rem)}.wedding-button:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:#8b0000;transition:all .3s ease;transform:translate(-50%)}.wedding-button:hover:after{width:100%}.wedding-button:active{transform:scale(.98)}.rsvp-screen{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#fff;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px);position:relative}.rsvp-header{position:absolute;top:20px;left:20px;z-index:10}.rsvp-home-header{position:absolute;top:20px;right:20px;z-index:10}.menu-dropdown{position:absolute;top:60px;right:0;background:#fff;box-shadow:0 2px 10px #8b000033;border-radius:10px;padding:10px;min-width:200px;display:flex;flex-direction:column;gap:10px}.rsvp-container{background:transparent;border-radius:0;padding:clamp(60px,12vw,80px) clamp(20px,5vw,40px) clamp(40px,8vw,60px) clamp(20px,5vw,40px);box-shadow:none;max-width:400px;width:100%;text-align:center;margin-top:clamp(20px,5vw,40px)}.rsvp-title{font-size:clamp(2rem,10vw,4rem);color:#8b0000;margin-bottom:clamp(30px,8vw,60px);font-weight:400;letter-spacing:2px;font-family:Bobby Jones Soft,sans-serif}.continue-button{width:100%;padding:clamp(16px,3vw,20px);font-size:clamp(1.1rem,3.5vw,1.5rem);background:transparent;color:#8b0000;border:none;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:1px;min-height:44px}.rsvp-form{display:flex;flex-direction:column;gap:25px;text-align:left}.form-group{width:100%}.checkbox-label{display:flex;align-items:center;gap:clamp(12px,2.5vw,15px);cursor:pointer;font-size:clamp(1.1rem,3.5vw,1.4rem);color:#8b0000;font-family:Bobby Jones Soft,sans-serif;font-weight:400;min-height:44px}.checkbox-input{width:clamp(18px,4vw,20px);height:clamp(18px,4vw,20px);min-width:20px;min-height:20px;cursor:pointer;accent-color:#8B0000}.input-label{display:block;margin-bottom:clamp(8px,2vw,10px);color:#8b0000;font-size:clamp(1rem,3vw,1.3rem);font-weight:400;font-family:Bobby Jones Soft,sans-serif}.rsvp-input,.rsvp-textarea{width:100%;padding:clamp(12px,2vw,15px) 0;font-size:clamp(1rem,3vw,1.3rem);border:none;border-bottom:2px solid #8B0000;background:transparent;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;color:#8b0000;resize:vertical;min-height:44px}.rsvp-input::placeholder,.rsvp-textarea::placeholder{color:#8b0000;opacity:.5;font-family:Bobby Jones Soft,sans-serif}.rsvp-input:focus,.rsvp-textarea:focus{outline:none;border-bottom-color:#8b0000;border-bottom-width:3px}.rsvp-input:disabled,.rsvp-textarea:disabled{opacity:.5;cursor:not-allowed}.submit-rsvp-button{width:100%;padding:clamp(14px,2.5vw,15px) clamp(20px,4vw,25px);font-size:clamp(1.1rem,3.5vw,1.4rem);background:transparent;color:#8b0000;border:none;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:.5px;margin-top:clamp(15px,3vw,20px);position:relative;min-height:44px}.submit-rsvp-button:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:#8b0000;transition:all .3s ease;transform:translate(-50%)}.submit-rsvp-button:hover:not(:disabled):after{width:100%}.submit-rsvp-button:active:not(:disabled){transform:scale(.98)}.submit-rsvp-button:disabled{opacity:.5;cursor:not-allowed}.rsvp-divider{width:100%;height:1px;background-color:#8b0000;margin:10px 0;opacity:.2}.upload-screen{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px);background:#fff;position:relative}.upload-header{position:absolute;top:20px;left:20px;z-index:10}.upload-home-header{position:absolute;top:20px;right:20px;z-index:10}.upload-container{background:transparent;border-radius:0;padding:clamp(60px,12vw,80px) clamp(20px,5vw,40px) clamp(40px,8vw,60px) clamp(20px,5vw,40px);box-shadow:none;max-width:700px;width:100%;text-align:center;margin-top:clamp(20px,5vw,40px)}.upload-title{font-size:clamp(2rem,8vw,3.5rem);color:#8b0000;margin-bottom:clamp(15px,3vw,20px);font-weight:400;letter-spacing:1px;font-family:Bobby Jones Soft,sans-serif}.upload-subtitle{color:#8b0000;margin-bottom:clamp(30px,6vw,50px);font-size:clamp(1rem,3.5vw,1.4rem);font-weight:400;opacity:.8;font-family:Bobby Jones Soft,sans-serif}.upload-message{color:#8b0000;margin-bottom:clamp(20px,4vw,30px);font-size:clamp(1rem,3.5vw,1.4rem);font-weight:400;opacity:.8;font-family:Bobby Jones Soft,sans-serif}.upload-section{margin-bottom:40px}.upload-label{display:block;cursor:pointer}.upload-box{border:2px dashed #8B0000;border-radius:0;padding:50px 20px;background:transparent;transition:all .3s ease}.upload-box:hover{background:#8b00000d;border-color:#8b0000}.upload-icon{font-size:clamp(2rem,7vw,3rem);margin-bottom:clamp(12px,2.5vw,15px);color:#8b0000}.upload-box p{font-family:Bobby Jones Soft,sans-serif;font-size:clamp(1rem,3vw,1.3rem);color:#8b0000;opacity:.8;margin:clamp(8px,2vw,10px) 0}.upload-hint{font-size:clamp(.9rem,2.8vw,1.2rem);color:#8b0000;margin-top:clamp(8px,2vw,10px);opacity:.7;font-family:Bobby Jones Soft,sans-serif}.file-input{display:none}.preview-section{margin-top:40px;text-align:left}.preview-title{font-size:clamp(1.2rem,4vw,1.5rem);color:#8b0000;margin-bottom:clamp(15px,3vw,20px);font-weight:400;font-family:Bobby Jones Soft,sans-serif;text-align:center}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px;margin-bottom:30px}.preview-item{position:relative;border-radius:0;overflow:hidden;aspect-ratio:1;border:2px solid #8B0000}.preview-item img{width:100%;height:100%;object-fit:cover}.remove-button{position:absolute;top:5px;right:5px;width:clamp(28px,6vw,30px);height:clamp(28px,6vw,30px);min-width:30px;min-height:30px;border-radius:0;background:#8b0000e6;color:#fff;border:2px solid #8B0000;font-size:clamp(1.2rem,3.5vw,1.5rem);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s ease}.remove-button:hover:not(:disabled){background:#8b0000;transform:scale(1.1)}.remove-button:disabled{opacity:.5;cursor:not-allowed}.upload-button{width:auto;min-width:150px;padding:clamp(14px,2.5vw,16px) clamp(30px,5vw,40px);font-size:clamp(1rem,3vw,1.2rem);background:transparent;color:#8b0000;border:none;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:1px;margin-top:clamp(20px,4vw,30px);min-height:44px;text-transform:uppercase;position:relative}.upload-button:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:#8b0000;transition:all .3s ease;transform:translate(-50%)}.upload-button:hover:not(:disabled):after{width:100%}.upload-button:active:not(:disabled){transform:scale(.98)}.upload-button:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#8b0000;font-size:clamp(.9rem,2.5vw,1.1rem);text-align:center;margin-bottom:15px;padding:clamp(8px,2vw,10px);background:transparent;border-radius:0;font-family:Bobby Jones Soft,sans-serif;opacity:.8}.upload-progress{color:#8b0000;font-size:clamp(.9rem,2.5vw,1.1rem);text-align:center;margin-bottom:15px;padding:clamp(8px,2vw,10px);font-family:Bobby Jones Soft,sans-serif;opacity:.8}.success-icon{width:clamp(50px,12vw,60px);height:clamp(50px,12vw,60px);border-radius:50%;background:transparent;color:#8b0000;display:flex;align-items:center;justify-content:center;font-size:clamp(2rem,7vw,3rem);margin:0 auto clamp(25px,6vw,40px);font-weight:400;border:2px solid #8B0000}.continue-button{width:100%;padding:clamp(16px,3vw,20px);font-size:clamp(1.1rem,3.5vw,1.5rem);background:transparent;color:#8b0000;border:none;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:1px;margin-top:clamp(20px,4vw,30px);min-height:44px}.continue-button:hover{background:#8b0000;color:#fff}.continue-button:active{transform:scale(.98)}.success-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.success-modal{background:#fff;padding:clamp(40px,8vw,60px) clamp(30px,6vw,50px);border-radius:0;text-align:center;max-width:400px;width:90%;box-shadow:0 4px 20px #0003;animation:slideUp .3s ease;border:2px solid #8B0000}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.success-modal .success-icon{width:clamp(60px,12vw,80px);height:clamp(60px,12vw,80px);border-radius:50%;background:transparent;color:#8b0000;display:flex;align-items:center;justify-content:center;font-size:clamp(2.5rem,8vw,4rem);margin:0 auto clamp(20px,5vw,30px);font-weight:400;border:2px solid #8B0000}.success-title{font-size:clamp(1.8rem,6vw,2.5rem);color:#8b0000;margin-bottom:clamp(10px,2vw,15px);font-weight:400;letter-spacing:1px;font-family:Bobby Jones Soft,sans-serif}.success-message{color:#8b0000;margin-bottom:clamp(25px,5vw,35px);font-size:clamp(1rem,3vw,1.3rem);font-weight:400;opacity:.8;font-family:Bobby Jones Soft,sans-serif}.success-close-button{width:auto;min-width:120px;padding:clamp(12px,2.5vw,14px) clamp(25px,5vw,35px);font-size:clamp(.95rem,2.8vw,1.1rem);background:transparent;color:#8b0000;border:2px solid #8B0000;border-radius:0;cursor:pointer;font-weight:400;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;letter-spacing:1px;text-transform:uppercase;min-height:44px}.success-close-button:hover{background:#8b0000;color:#fff}.success-close-button:active{transform:scale(.98)}.love-story-screen{width:100%;min-height:100vh;background:#fff;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px);position:relative}.love-story-header{position:absolute;top:20px;left:20px;z-index:10}.love-story-home-header{position:absolute;top:20px;right:20px;z-index:10}.love-story-container{max-width:1600px;margin:clamp(40px,8vw,60px) auto 0;padding:clamp(15px,3vw,20px);text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;padding:20px 0}.gallery-item{width:100%;aspect-ratio:3 / 4;overflow:hidden;cursor:pointer}.gallery-image-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .4s ease,opacity .3s ease}.gallery-image.loading{opacity:0}.gallery-image.loaded{opacity:1}.image-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:#f5f5f5;display:flex;align-items:center;justify-content:center;z-index:1}.image-spinner{width:40px;height:40px;border:3px solid #8B0000;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#8b0000b3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .4s ease}.gallery-text{color:#fff;font-size:clamp(.7rem,2vw,.8rem);font-family:Bobby Jones Soft,sans-serif;text-align:center;padding:clamp(6px,1.5vw,8px);margin:0;font-weight:500}.loading-message{color:#8b0000;font-size:clamp(1.1rem,4vw,1.5rem);font-family:Bobby Jones Soft,sans-serif;padding:clamp(25px,5vw,40px)}.gallery-item:hover .gallery-image{transform:scale(1.1);filter:brightness(.7)}.gallery-item:hover .gallery-overlay{opacity:1}@media(max-width:1400px){.gallery-grid{grid-template-columns:repeat(6,1fr);gap:10px}}@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(4,1fr);gap:10px}}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:clamp(6px,1.5vw,8px)}}@media(max-width:480px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:clamp(6px,1.5vw,8px)}.love-story-header,.love-story-home-header{top:clamp(10px,2vw,15px);left:clamp(10px,2vw,15px)}.love-story-home-header{right:clamp(10px,2vw,15px);left:auto}}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:clamp(20px,5vw,40px);animation:fadeIn .3s ease;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;animation:zoomIn .3s ease;cursor:default}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-close{position:absolute;top:-40px;right:0;background:transparent;border:none;color:#fff;font-size:clamp(2rem,6vw,3rem);width:clamp(40px,10vw,50px);height:clamp(40px,10vw,50px);min-width:44px;min-height:44px;cursor:pointer;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;display:flex;align-items:center;justify-content:center;line-height:1;z-index:1001}.lightbox-close:hover{color:#8b0000;transform:scale(1.1)}.lightbox-image{max-width:100%;max-height:80vh;object-fit:contain;border:2px solid #ffffff;box-shadow:0 4px 20px #00000080}.lightbox-text{color:#fff;font-size:clamp(1rem,3vw,1.3rem);font-family:Bobby Jones Soft,sans-serif;text-align:center;margin-top:clamp(15px,3vw,20px);padding:clamp(10px,2vw,15px);max-width:800px}@media(max-width:768px){.lightbox-close{top:-35px;right:-10px}.lightbox-content{max-width:95vw}.lightbox-image{max-height:75vh}}.schedule-screen{width:100%;min-height:100vh;background:#fff;padding:clamp(20px,5vw,40px) clamp(15px,4vw,20px)}.schedule-header{position:absolute;top:20px;left:20px;z-index:10}.nav-text{color:#8b0000;font-size:clamp(1.2rem,4vw,1.8rem);padding:clamp(8px,2vw,10px) clamp(15px,3vw,20px);cursor:pointer;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;text-transform:uppercase;letter-spacing:2px;min-height:44px;display:flex;align-items:center}.nav-text:hover{opacity:.7}.schedule-home-header{position:absolute;top:20px;right:20px;z-index:10}.hamburger-button{background:transparent;border:none;color:#8b0000;font-size:clamp(1.2rem,3.5vw,1.5rem);width:clamp(40px,10vw,45px);height:clamp(40px,10vw,45px);min-width:44px;min-height:44px;cursor:pointer;transition:all .3s ease;font-family:Bobby Jones Soft,sans-serif;border-radius:20px}.hamburger-button:hover{background:#8b0000;color:#fff}.menu-dropdown{position:absolute;top:50px;right:0;background:#fff;box-shadow:0 2px 10px #8b000033;border-radius:10px;padding:10px;min-width:200px;display:flex;flex-direction:column;gap:10px}.menu-dropdown button{background:transparent;border:none;color:#8b0000;font-size:clamp(1rem,2.8vw,1.2rem);padding:clamp(10px,2vw,10px) clamp(12px,2.5vw,15px);min-height:44px;cursor:pointer;text-align:left;font-family:Bobby Jones Soft,sans-serif;border-radius:10px;transition:all .3s ease}.menu-dropdown button:hover{background:#8b0000;color:#fff}.schedule-container{max-width:1200px;margin:20px auto 0;padding:20px;text-align:center;display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px)}.schedule-title{font-family:Bobby Jones Soft,sans-serif;font-size:clamp(2rem,8vw,3.5rem);color:#8b0000;margin:0 0 40px;font-weight:400;letter-spacing:2px;text-transform:uppercase}.schedule-empty{padding:40px 20px;color:#8b0000;font-family:Bobby Jones Condensed,sans-serif;font-size:clamp(1.2rem,4vw,1.5rem)}.schedule-events{display:flex;flex-direction:column;gap:40px;text-align:left}.schedule-day{background:#fafafa;border-radius:12px;padding:30px;box-shadow:0 2px 8px #8b00001a}.schedule-day-header{border-bottom:2px solid #8B0000;padding-bottom:15px;margin-bottom:25px;text-align:center}.schedule-day-date{font-family:Bobby Jones Soft,sans-serif;font-size:clamp(1.5rem,5vw,2.2rem);color:#8b0000;margin:0 0 8px;font-weight:400;letter-spacing:1px;text-transform:uppercase}.schedule-day-location{font-family:Bobby Jones Condensed,sans-serif;font-size:clamp(1.1rem,3.5vw,1.4rem);color:#8b0000;margin:0;font-weight:400;letter-spacing:1px;opacity:.8}.schedule-day-events{display:flex;flex-direction:column;gap:25px}.schedule-event{display:flex;gap:20px;padding:20px;background:#fff;border-radius:8px;border-left:4px solid #8B0000}.schedule-event-time{font-family:Bobby Jones Soft,sans-serif;font-size:clamp(1rem,3vw,1.2rem);color:#8b0000;font-weight:700;min-width:100px;flex-shrink:0;text-align:left;padding-top:2px}.schedule-event-details{flex:1}.schedule-event-title{font-family:Bobby Jones Soft,sans-serif;font-size:clamp(1.1rem,3.5vw,1.4rem);color:#8b0000;margin:0 0 8px;font-weight:400;letter-spacing:.5px;text-transform:uppercase}.schedule-event-description{font-family:Bobby Jones Condensed,sans-serif;font-size:clamp(.95rem,2.8vw,1.1rem);color:#666;margin:0 0 6px;line-height:1.5}.schedule-event-location{font-family:Bobby Jones Condensed,sans-serif;font-size:clamp(.9rem,2.5vw,1rem);color:#8b0000;margin:0;opacity:.7;font-style:italic}.save-the-date-container{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px}.save-the-date-title{font-family:Bobby Jones Soft,sans-serif;font-size:clamp(2rem,10vw,4rem);color:#8b0000;margin:0;font-weight:400;letter-spacing:2px;text-transform:uppercase}.save-the-date-date,.save-the-date-location{font-family:Bobby Jones Condensed,sans-serif;font-size:clamp(1.3rem,5vw,2rem);color:#8b0000;margin:0;font-weight:400;letter-spacing:1px}@media(max-width:768px){.schedule-container{padding:clamp(15px,3vw,20px)}.schedule-day{padding:20px}.schedule-event{flex-direction:column;gap:10px;padding:15px}.schedule-event-time{min-width:auto;padding-top:0}}@media(max-width:480px){.schedule-header,.schedule-home-header{top:clamp(10px,2vw,15px);left:clamp(10px,2vw,15px)}.schedule-home-header{right:clamp(10px,2vw,15px);left:auto}}.heart-cursor-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.heart-cursor{position:absolute;font-size:24px;color:#8b0000;transform:translate(-50%,-50%);pointer-events:none;animation:heartFade .6s ease-out forwards;font-family:Bobby Jones Soft,sans-serif;opacity:0}@keyframes heartFade{0%{opacity:.8;transform:translate(-50%,-50%) scale(1) rotate(0)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.2) rotate(10deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-10deg)}}.app{min-height:100vh;background:#fff}@font-face{font-family:Bobby Jones Soft;src:url(/fonts/bobby-jones-soft-regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bobby Jones Soft Outline;src:url(/fonts/bobby-jones-soft-outline.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bobby Jones Condensed;src:url(/fonts/bobby-jones-condensed.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Bobby Jones Soft,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;min-height:100vh;color:#8b0000;font-size:clamp(14px,2.5vw,16px);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent}#root{min-height:100vh;-webkit-text-size-adjust:100%;text-size-adjust:100%}input,textarea,button,select{font-size:inherit;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media screen and (max-width:480px){body{font-size:clamp(14px,4vw,16px)}}
