.contact-wrapper{justify-content:center;min-height:calc(100vh - 200px);padding:2rem}.contact-container,.contact-wrapper{display:flex;align-items:center;width:100%}.contact-container{gap:24px;flex-direction:column;background-color:var(--login-background);justify-content:space-between;height:auto;max-width:1200px;margin:0 auto;padding:24px;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.1),0 8px 16px rgba(0,0,0,.05);border:1px solid rgba(125,113,84,.2);transition:all .8s cubic-bezier(.25,.46,.45,.94)}.contact-content{display:flex;gap:40px;align-items:center;width:100%;min-height:400px}.contact-text-section{flex:1;padding:0 20px;transition:all .6s cubic-bezier(.25,.46,.45,.94) .1s}.contact-title{font-size:2rem;font-weight:600;color:var(--foreground);margin-bottom:1rem;margin-top:0;font-family:EB Garamond,serif}.typewriter-container{min-height:520px;min-width:345px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(167,151,109,.5));border-left:4px solid #bfa76a;padding:1.5rem;border-radius:0 8px 8px 0;box-shadow:inset 0 2px 4px rgba(0,0,0,.05),0 2px 8px rgba(191,167,106,.5)}.typewriter-text{font-size:1rem;line-height:1.8;color:var(--foreground);text-align:justify;font-family:EB Garamond,serif;margin-bottom:0;position:relative;text-indent:1rem;padding-right:1rem}.typewriter-text strong{color:#3b3b3b;font-weight:700;font-size:1.05em}.typewriter-text em{color:#584b38;font-style:italic;font-size:.9em;opacity:.8}.typewriter-cursor{color:var(--brown);font-weight:700;animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.contact-form{display:flex;flex-direction:column;width:100%;flex:1;transition:all .6s cubic-bezier(.25,.46,.45,.94) .2s}.contact-form-item{display:flex;flex-direction:column;margin-bottom:12px;width:100%}.contact-form-item input,textarea{background-color:var(--login-form-input-background);border:1.5px solid var(--login-form-input-border);border-radius:4px;padding:8px;color:var(--foreground);transition:all .2s ease}.contact-form-item input:focus,textarea:focus{outline:none;border:1.5px solid var(--brown);box-shadow:0 0 0 3px rgba(191,167,106,.1)}.contact-form-item label{font-size:1rem;font-weight:600;margin-bottom:4px}.contact-form button{background-color:var(--login-form-button-background);border:1.5px solid var(--login-form-button-border);border-radius:4px;padding:8px;color:var(--login-form-button-text-color);cursor:pointer;transition:all .2s ease}.contact-form button:hover{background-color:var(--login-form-button-background-hover);transform:translateY(.5px);box-shadow:0 4px 12px rgba(191,167,106,.3)}.contact-image-wrapper{flex:1.5;display:flex;align-items:center;justify-content:center;min-height:100%;transition:all .6s cubic-bezier(.25,.46,.45,.94) .3s}.contact-image{border-radius:12px;transition:transform .3s ease;filter:drop-shadow(0 8px 16px rgba(0,0,0,.1));width:90%;max-width:400px;height:auto;object-fit:contain}.contact-image:hover{transform:scale(1.05) rotate(2deg)}.fade-in-up-initial{opacity:0;transform:translateY(40px)}.fade-in-up-active{opacity:1;transform:translateY(0)}.contact-container.fade-in-up-active{animation:fadeInUp .8s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1100px){.contact-wrapper{width:90%;margin:0 auto;padding:1.5rem}.contact-container{width:100%;max-width:900px;padding:20px}.contact-content{flex-direction:column;gap:25px;align-items:center;min-height:auto}.contact-text-section{order:1;width:100%;text-align:center;padding:0 10px}.typewriter-container{min-height:400px;min-width:10rem;padding:1.2rem}.contact-title{font-size:1.8rem;margin-bottom:1.2rem}.typewriter-text{font-size:.95rem;line-height:1.7}.contact-form{order:2}.contact-image-wrapper{order:3;min-height:350px;max-width:350px;flex:none}.contact-image{width:100%;max-width:350px}}@media (max-width:768px){.contact-wrapper{width:95%;padding:1rem}.contact-container{width:100%;max-width:600px;padding:16px}.typewriter-container{min-height:320px;min-width:100%;padding:1rem}.contact-title{font-size:1.5rem;margin-bottom:1rem;border-bottom-width:2px}.contact-title:after{width:40px}.typewriter-text{font-size:.9rem;line-height:1.6;text-indent:.5rem}.typewriter-text strong{font-size:1.05em}.typewriter-text em{font-size:.85em;margin:.6rem 0 1rem;padding-left:.8rem}.contact-image-wrapper{min-height:280px;max-width:280px}.contact-image{width:100%;max-width:280px}}@media (max-width:480px){.contact-wrapper{width:98%;padding:.5rem;min-height:auto}.contact-container{width:100%;padding:12px;box-shadow:0 4px 8px rgba(0,0,0,.06),0 2px 4px rgba(0,0,0,.03)}.typewriter-container{min-height:380px;min-width:100%;padding:.8rem}.contact-title{font-size:1.3rem;margin-bottom:.8rem;text-transform:none;letter-spacing:.05em}.contact-title:after{width:30px}.typewriter-text{font-size:.85rem;line-height:1.5;text-indent:0;padding-right:.5rem}.typewriter-text strong{font-size:1em;margin-bottom:.5rem}.typewriter-text em{font-size:.8em;margin:.5rem 0 .8rem;padding-left:.5rem}.contact-image-wrapper{min-height:220px;max-width:220px}.contact-image{width:100%;max-width:220px}.contact-form-item input,textarea{padding:6px;font-size:.9rem}.contact-form button{padding:10px;font-size:.95rem}}@media (max-width:1024px) and (min-width:769px) and (orientation:landscape){.contact-content{flex-direction:row;gap:20px}.contact-text-section{flex:1.2;order:1}.contact-form{flex:1;order:2}.contact-image-wrapper{flex:0.8;order:3;min-height:250px;max-width:250px}.typewriter-container{min-height:300px}.contact-title{font-size:1.6rem}}.form-success-message{background-color:rgba(76,175,80,.1);color:#2e7d32;border-left:4px solid #2e7d32}.form-error-message,.form-success-message{padding:12px;margin-bottom:20px;border-radius:4px;font-weight:500;animation:fadeIn .3s ease}.form-error-message{background-color:rgba(244,67,54,.1);color:#d32f2f;border-left:4px solid #d32f2f}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.required{color:#d32f2f;margin-left:2px}.contact-form button.submitting{background-color:#cccccc;cursor:not-allowed;opacity:.7}