.modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:10000}.modal[aria-hidden=false]{opacity:1;visibility:visible}.modal[aria-hidden=false] .modal-content{transform:translateY(0) scale(1)}.modal-overlay{background:rgba(0,0,0,.7);cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.modal-content{background:var(--bodyTextColorWhite,#fff);border-radius:.75rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);max-height:90vh;max-width:31.25rem;overflow-y:auto;padding:clamp(2rem,5vw,3rem);position:relative;transform:translateY(-20px) scale(.95);transition:transform .3s ease;width:90%}.modal-close{background:transparent;border:none;color:var(--bodyTextColor,#333);cursor:pointer;line-height:0;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:color .3s ease}.modal-close:hover{color:var(--primary,#007bff)}.modal-title{color:var(--headerColor,#1a1a1a);font-family:var(--headerFont);font-size:clamp(1.5rem,4vw,2rem);margin:0 0 1rem;text-align:center}.modal-text{color:var(--bodyTextColor,#333);line-height:1.6;margin:0 0 1.5rem;text-align:center}.modal-form{display:flex;flex-direction:column;gap:1rem}.form-group{width:100%}.modal-input{border:1px solid #ddd;border-radius:.5rem;font-family:inherit;font-size:1rem;padding:1rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.modal-input:focus{border-color:var(--primary,#007bff);box-shadow:0 0 0 3px rgba(0,123,255,.1);outline:none}.modal-input::-moz-placeholder{color:#999}.modal-input::placeholder{color:#999}.modal-submit{cursor:pointer;width:100%}.modal-privacy{color:#666;font-size:.75rem;margin:1rem 0 0;text-align:center}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}body.modal-open{overflow:hidden}