.save-the-date-page{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-background-dark);padding:1rem 0}.message-box{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:100;padding:.75rem 1.5rem;border-radius:9999px;border:1px solid;box-shadow:0 4px 15px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-weight:500;animation:fadeInDown .5s ease-out forwards}.message-box.success{background-color:var(--color-emerald-100);color:var(--color-emerald-800);border-color:var(--color-emerald-500)}.message-box.error{background-color:var(--color-red-100);color:var(--color-red-800);border-color:var(--color-red-500)}.message-box button{font-size:1.5rem;font-weight:400;color:var(--color-gray-600);background:none;border:none;cursor:pointer;line-height:1}.main-content-wrapper{position:relative;z-index:1;width:90%;max-width:900px;margin:1.5rem auto .5rem}.main-content{position:relative;background-color:var(--color-parchment);opacity:.85;padding:4rem 2rem;box-shadow:0 5px 25px rgba(0,0,0,.3);border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:.5rem}.hero-background-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.hero-background-image{object-fit:cover;width:100%;height:100%;object-position:center}@media (max-width:767px){.main-content{opacity:.75}.hero-background-image{object-position:calc(50% - 45px) center}}.main-heading{font-size:clamp(2.5rem,8vw,5rem);font-family:Uncial Antiqua,cursive;text-shadow:1px 1px 2px rgba(0,0,0,.1);line-height:1.2;margin:.5rem 0}.main-heading,.sub-heading{color:var(--color-antique-copper)}.sub-heading{font-size:clamp(2rem,3vw,1.5rem);font-style:italic;margin-top:1rem}.date-box{margin:1rem 0}.date-message{font-size:clamp(1.5rem,2.5vw,1.25rem);font-weight:500;margin-bottom:.5rem}.date-message,.date-value{color:var(--color-gold-900)}.date-value{font-size:clamp(2.5rem,8vw,4rem);font-family:Uncial Antiqua,cursive;text-shadow:1px 1px 3px rgba(0,0,0,.3);line-height:1.2}@media (max-width:767px){.date-message{margin-top:1rem}.date-value,.sub-heading{margin-bottom:1rem}}.separator{margin:0 .5rem}.formal-invite-text{font-size:clamp(1rem,2.5vw,1.125rem);color:var(--color-gold-900);line-height:1.5;margin:1.5rem 0 0}.open-modal-button{background-color:var(--color-forest-green-700);color:var(--color-gold-50);border:2px solid var(--color-gold-300);padding:.75rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;border-radius:.5rem;margin-top:2rem;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:all .3s ease}.open-modal-button:hover{background-color:var(--color-forest-green-800);transform:translateY(-2px);box-shadow:0 6px 8px rgba(0,0,0,.15)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:50;animation:fadeIn .3s ease-out forwards}.modal-content{position:relative;width:90%;max-width:500px;background-color:var(--color-parchment);padding:3rem 2rem;border-radius:1.5rem;box-shadow:0 15px 30px rgba(0,0,0,.3);animation:slideIn .4s ease-out forwards;border:1px solid rgba(0,0,0,.1)}@media (max-width:767px){.modal-content{width:80%;padding:2rem 1.5rem}}.modal-close-button{position:absolute;top:1rem;right:1.5rem;background:none;border:none;font-size:2rem;color:var(--color-gold-800);cursor:pointer;line-height:1;transition:transform .2s ease}.modal-close-button:hover{transform:scale(1.1)}.form-title{font-size:clamp(1.5rem,6vw,2rem);font-family:Uncial Antiqua,cursive;color:var(--color-gold-800)}.form-description,.form-title{margin-bottom:1.5rem;text-align:center}.form-description{color:var(--color-gold-700)}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-group{margin-bottom:.5rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-gold-700)}.form-input{display:block;width:95%;padding:.75rem 1rem;margin-top:.25rem;border:1px solid var(--color-gray-300);border-radius:.5rem;box-shadow:0 1px 2px rgba(0,0,0,.05);color:var(--color-gray-800);font-family:inherit;transition:border-color .3s,box-shadow .3s}.form-input:focus{outline:2px solid transparent;outline-offset:2px;border-color:var(--color-forest-green-700);box-shadow:0 0 0 1px var(--color-forest-green-700)}.form-button{width:100%;display:flex;justify-content:center;padding:.75rem 1rem;border:1px solid transparent;border-radius:.5rem;box-shadow:0 1px 2px rgba(0,0,0,.05);font-size:1.125rem;font-weight:600;color:var(--color-gold-50);background-color:var(--color-forest-green-700);cursor:pointer;transition:background-color .3s,opacity .3s}.form-button:hover:not(:disabled){background-color:var(--color-forest-green-800)}.form-button:disabled{opacity:.5;cursor:not-allowed}.footer{width:100%;max-width:900px;margin:0 auto;text-align:center;padding:2rem 0;font-size:1.5rem;color:var(--color-antique-copper);position:relative;z-index:1}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px) translateX(-50%)}to{opacity:1;transform:translateY(0) translateX(-50%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width:768px){.main-content{max-width:800px;padding:6rem}}