.contact{min-height:calc(100vh - 48px);background:var(--color-bg);display:flex;justify-content:center;align-items:flex-start;padding:2rem 1rem}.contact__container{width:100%;max-width:550px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow);padding:2rem}.contact__progress{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.contact__step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.contact__step-number{width:32px;height:32px;border-radius:50%;background:var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;transition:all .3s ease}.contact__step--active .contact__step-number{background:var(--color-primary);color:var(--color-text-on-primary)}.contact__step--completed .contact__step-number{background:var(--color-success);color:var(--color-text-on-primary)}.contact__step-label{font-size:.75rem;color:var(--color-text-subtle);text-align:center;transition:color .3s ease}.contact__step--active .contact__step-label{color:var(--color-primary);font-weight:500}.contact__step--completed .contact__step-label{color:var(--color-success)}.contact__step-line{width:40px;height:2px;background:var(--color-border);margin:0 .75rem 1.5rem}.contact__form{display:flex;flex-direction:column}.contact__title{font-size:1.75rem;color:var(--color-text);margin:0 0 .5rem;text-align:center;font-weight:600}.contact__subtitle{font-size:.95rem;color:var(--color-text-muted);margin:0 0 1.5rem;text-align:center;line-height:1.5}.contact__error{background:var(--color-surface-alt);color:var(--color-danger);border:1px solid var(--color-danger);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;text-align:center;animation:contactShake .5s ease}@keyframes contactShake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}.contact__field{margin-bottom:1.25rem}.contact__label{display:block;font-size:.9rem;font-weight:500;color:var(--color-text);margin-bottom:.5rem}.contact__input,.contact__select,.contact__textarea{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.contact__input:focus,.contact__select:focus,.contact__textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.contact__input::placeholder,.contact__textarea::placeholder{color:var(--color-text-subtle)}.contact__input--code{text-align:center;font-size:1.5rem;letter-spacing:.5rem;font-weight:600}.contact__select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}[data-theme=dark] .contact__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}.contact__textarea{resize:vertical;min-height:120px;font-family:inherit}.contact__hint{font-size:.85rem;color:var(--color-text-subtle);margin:-.5rem 0 1.5rem;text-align:center}.contact__button{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;color:var(--color-text-on-primary);background:var(--color-primary);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.contact__button:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow)}.contact__button:disabled{background:var(--color-border-strong);color:var(--color-text-subtle);cursor:not-allowed;transform:none}.contact__button--secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.contact__button--secondary:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-on-primary)}.contact__success{text-align:center;padding:1rem 0}.contact__success-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:var(--color-surface-alt);border-radius:50%;display:flex;align-items:center;justify-content:center}.contact__success-icon svg{width:40px;height:40px;color:var(--color-success)}@media (max-width:768px){.contact{padding:1rem}.contact__container{padding:1.5rem}.contact__progress{margin-bottom:1.5rem;padding-bottom:1rem}.contact__step-number{width:28px;height:28px;font-size:.8rem}.contact__step-label{font-size:.65rem}.contact__step-line{width:25px;margin:0 .5rem 1.25rem}.contact__title{font-size:1.5rem}.contact__subtitle{font-size:.9rem}}@media (max-width:480px){.contact__container{padding:1.25rem;border-radius:12px}.contact__step-label{display:none}.contact__step-line{margin-bottom:0}.contact__title{font-size:1.3rem}.contact__input,.contact__select,.contact__textarea{padding:.65rem .875rem;font-size:.95rem}.contact__input--code{font-size:1.25rem;letter-spacing:.3rem}.contact__button{padding:.75rem 1.25rem;font-size:.95rem}}