.contact-section{padding:var(--spacing-xxl) 0}.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-xxl)}.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;position:relative}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:500;margin-bottom:var(--spacing-xs);color:var(--color-text);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;transition:color .3s ease}.form-group label:after{content:"*";color:#ef4444;margin-left:4px;display:none}.form-group:has([required]) label:after{display:inline}.form-group input,.form-group select,.form-group textarea{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-family:var(--font-main);font-size:1rem;transition:all .3s ease;background-color:#fff;color:var(--color-text)}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af;font-size:.95rem}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:#ef4444;background-color:#fef2f2}.form-group.error label{color:#ef4444}.form-group.success input,.form-group.success select,.form-group.success textarea{border-color:#10b981;background-color:#f0fdf4}.form-group.focused label{color:var(--color-primary)}.form-error{position:absolute;bottom:-20px;left:0;font-size:.75rem;color:#ef4444;display:none;animation:slideDown .3s ease}.form-group.error .form-error{display:block}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #0066cc1a;background-color:#f9fafb;transform:translateY(-1px)}.form-group input:hover:not(:focus),.form-group select:hover:not(:focus),.form-group textarea:hover:not(:focus){border-color:#d1d5db}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.5rem;padding-right:2.5rem}.form-group select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%230066cc'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E")}.char-counter{position:absolute;bottom:8px;right:8px;font-size:.75rem;color:#9ca3af;pointer-events:none}.form-message{padding:1rem 1.25rem;border-radius:8px;margin-top:var(--spacing-md);display:none;animation:fadeInUp .4s ease;position:relative;font-size:.95rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-message.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #c3e6cb;display:block;box-shadow:0 4px 6px #22c55e1a}.form-message.error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid #fca5a5;display:block;box-shadow:0 4px 6px #ef44441a}.form-message.info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd;display:block;box-shadow:0 4px 6px #3b82f61a}.contact-info h2{font-size:1.75rem;margin-bottom:var(--spacing-md)}.contact-info>p{font-size:1.0625rem;line-height:1.7;color:var(--color-text-light);margin-bottom:var(--spacing-lg)}.info-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-bg-secondary);border-radius:8px}.info-section h3{font-size:1.25rem;margin-bottom:var(--spacing-sm);color:var(--color-text)}.info-section p{color:var(--color-text-light);line-height:1.6}.process-list{list-style:none;counter-reset:process-counter}.process-list li{position:relative;padding-left:2rem;margin-bottom:var(--spacing-sm);color:var(--color-text-light);line-height:1.6;counter-increment:process-counter}.process-list li:before{content:counter(process-counter);position:absolute;left:0;top:0;width:1.5rem;height:1.5rem;background-color:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600}.social-links{display:flex;gap:var(--spacing-md)}.social-link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:var(--transition)}.social-link:hover{color:var(--color-primary-dark);text-decoration:underline}.btn-primary{position:relative;overflow:hidden;font-weight:600;letter-spacing:.5px;transition:all .3s ease}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-primary:hover:before{width:300px;height:300px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 20px #06c3}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary.loading{color:transparent}.btn-primary.loading:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:2px solid #ffffff;border-radius:50%;border-top-color:transparent;animation:spinner .8s linear infinite}@keyframes spinner{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.btn-primary.shake{animation:shake .5s ease-in-out}.form-group{transition:margin-bottom .3s ease}.form-group.error{margin-bottom:28px}.form-group:focus-within label{color:var(--color-primary)}@supports (backdrop-filter: blur(10px)){.form-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffffe6}}.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.form-group input,.form-group select,.form-group textarea{will-change:transform,border-color,background-color}@keyframes checkmark{0%{transform:scale(0) rotate(45deg);opacity:0}50%{transform:scale(1.2) rotate(45deg)}to{transform:scale(1) rotate(45deg);opacity:1}}.form-group.success:after{content:"✓";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#10b981;font-weight:700;font-size:1.25rem;animation:checkmark .4s ease}@media (max-width: 968px){.contact-grid,.contact-form{grid-template-columns:1fr}.form-group{grid-column:1 / -1}}
