.contact-section{position:relative;min-height:100vh;background-color:black;overflow:hidden}.contact-map{position:absolute;inset:0;width:195%;transform:translateX(-45%);z-index:0}.contact-overlay{position:absolute;inset:0;z-index:10}.contact-container{position:relative;z-index:20;display:flex;flex-direction:column;min-height:100vh;align-items:center;padding:8rem 1rem 2rem}@media (min-width:768px){.contact-container{flex-direction:row;justify-content:flex-end;padding:0 5rem}}.contact-form{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:48rem}.contact-title{color:rgb(255 255 255/.8);font-size:1.125rem;margin-bottom:.5rem;margin-top:2rem}.contact-heading{font-size:3rem;font-weight:700;color:white;margin-bottom:1.5rem}.contact-heading span{color:var(--color-red-accent)}.contact-input-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.contact-input-grid{grid-template-columns:repeat(2,1fr)}}.contact-input{background-color:rgb(10 10 10);border:1px solid rgb(38 38 38);color:white}.contact-input::placeholder{color:white}.contact-input:focus{outline:none;border-color:rgb(82 82 82)}.contact-input.error{border-color:rgb(239 68 68)}.contact-input.error:focus{border-color:rgb(248 113 113)}.error-message{color:rgb(248 113 113);font-size:.875rem;margin-top:.25rem}.contact-textarea{resize:none;min-height:150px}.char-count{color:rgb(115 115 115);font-size:.75rem;margin-top:.25rem}.contact-submit{width:100%;font-weight:600;padding:1rem 2rem;border-radius:.375rem;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;background-color:white;color:black}.contact-submit:hover:not(:disabled){background-color:rgb(243 244 246);transform:scale(1.05)}.contact-submit:disabled{background-color:rgb(115 115 115);cursor:not-allowed}.contact-info-card{width:100%;background-color:white;border-radius:.75rem;box-shadow:0 20px 25px -5px rgb(0 0 0/.1);border:1px solid rgb(229 231 235);padding:1.25rem;margin-top:2rem;z-index:20;a,p{padding:5px}}@media (min-width:768px){.contact-info-card{position:absolute;width:24rem;top:40%;left:15%;margin-top:0}}.contact-info-card:hover{transform:scale(1.02);transition:transform .2s}.contact-info-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.contact-info-icon{color:rgb(220 38 38);width:1.25rem;height:1.25rem}.contact-info-link{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:black;transition:color .2s}.contact-info-link:hover{color:rgb(220 38 38)}.status-message{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:.5rem;margin-bottom:1rem}.status-message.success{background-color:rgba(22,163,74,.2);border:1px solid rgb(22 163 74);color:rgb(134 239 172)}.status-message.error{background-color:rgba(220,38,38,.2);border:1px solid rgb(220 38 38);color:rgb(252 165 165)}.contact-page .contact-title{margin-top:var(--page-header-offset)}@media (min-width:768px) and (max-width:900px){.contact-form{width:100%;flex:0 0 50%}.contact-container{padding:10px}.contact-info-card{width:30%;flex:0 0 25%;position:absolute;margin-top:0}}@media (min-width:900px) and (max-width:1500px){.contact-container{display:flex;flex-direction:row;align-items:flex-start;gap:2rem;padding:4rem}.contact-form{width:50%;flex:0 0 50%}.contact-info-card{width:25%;flex:0 0 25%;position:absolute;margin-top:0}}@media (max-width:768px){.contact-info-card{margin-bottom:3rem;width:100%;margin-top:3rem}.contact-map{position:absolute;width:100%;transform:translateX(0);z-index:0;bottom:0}.contact-heading{font-size:2.25rem}.contact-container{flex-direction:column;padding:1rem}.contact-page .contact-title{margin-top:var(--page-header-offset)}}