.contact-section{padding:7.2rem 0;margin-top:7.2rem;background:white;transition:background-color .3s ease}.dark .contact-section{background:hsl(0 0% 3.9%)}.contact-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;background:white;padding:2rem}.contact-form-section{background:white;padding:2rem 0;transition:background-color .3s ease}.dark .contact-form-section{background:hsl(0 0% 3.9%)}.contact-heading{font-size:2.5rem;font-weight:700;color:#333;margin:0 0 1.5rem;font-family:system-ui,-apple-system,sans-serif;transition:color .3s ease}.dark .contact-heading{color:hsl(0 0% 98%)}.contact-description{font-size:1.1rem;line-height:1.6;color:#555;margin:0 0 1.5rem;font-family:system-ui,-apple-system,sans-serif;transition:color .3s ease}.dark .contact-description{color:hsl(0 0% 63.9%)}.contact-email{font-size:1rem;color:#333;margin:0 0 2rem;font-family:system-ui,-apple-system,sans-serif}.contact-form{gap:2rem}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-label{font-size:1rem;font-weight:500;color:#333;font-family:system-ui,-apple-system,sans-serif;transition:color .3s ease}.dark .form-label{color:hsl(0 0% 98%)}.name-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-input,.form-textarea{border:none;border-bottom:1px solid #ddd;background:transparent;padding:.75rem 0;font-size:1rem;font-family:system-ui,-apple-system,sans-serif;color:#333;outline:none;transition:border-color .2s ease,color .3s ease}.dark .form-input,.dark .form-textarea{border-bottom:1px solid hsl(0 0% 14.9%);color:hsl(0 0% 98%)}.form-input::-moz-placeholder,.form-textarea::-moz-placeholder{color:#999;-moz-transition:color .3s ease;transition:color .3s ease}.form-input::placeholder,.form-textarea::placeholder{color:#999;transition:color .3s ease}.dark .form-input::-moz-placeholder,.dark .form-textarea::-moz-placeholder{color:hsl(0 0% 45.1%)}.dark .form-input::placeholder,.dark .form-textarea::placeholder{color:hsl(0 0% 45.1%)}.form-input:focus,.form-textarea:focus{border-bottom-color:#333}.dark .form-input:focus,.dark .form-textarea:focus{border-bottom-color:hsl(0 0% 98%)}.form-textarea{resize:vertical;min-height:120px}.form-textarea,.send-button{font-family:system-ui,-apple-system,sans-serif}.send-button{background-color:black;color:white;border:none;padding:1rem 2rem;border-radius:50px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease;text-transform:uppercase;letter-spacing:.5px;align-self:flex-start;margin-top:1rem}.dark .send-button{background-color:hsl(0 0% 98%);color:hsl(0 0% 9%)}.send-button:hover{background-color:#c1d0eb;color:black}.dark .send-button:hover{background-color:#8ba3d1;color:white}.send-button:active{transform:translateY(1px)}.send-button:disabled{opacity:.6;cursor:not-allowed}.success-message{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:8px;padding:1rem;margin-top:1rem;font-family:system-ui,-apple-system,sans-serif;font-size:.9rem;line-height:1.4}.dark .success-message{background-color:#1e3a2e;color:#a3d9a4;border-color:#2d5a3d}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:8px;padding:1rem;margin-top:1rem;font-family:system-ui,-apple-system,sans-serif;font-size:.9rem;line-height:1.4}.dark .error-message{background-color:#3a1e1e;color:#f5a3a3;border-color:#5a2d2d}.contact-image-section{display:flex;justify-content:center;align-items:center}.contact-image{width:100%;max-width:400px;height:600px;-o-object-fit:cover;object-fit:cover;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.1)}@media (max-width:768px){.contact-container{grid-template-columns:1fr;gap:3rem;padding:0 1rem}.contact-heading{font-size:2rem}.contact-description{font-size:1rem}.name-inputs{grid-template-columns:1fr;gap:1rem}.contact-image{max-width:300px;height:450px}.send-button{align-self:stretch;text-align:center}}@media (max-width:480px){.contact-section{padding:2rem 0}.contact-heading{font-size:1.8rem}.contact-form{gap:1.5rem}.contact-image{max-width:250px;height:375px}}