.contact{background-color:var(--bg-subtle);position:relative;overflow:hidden}.contact:before{content:"";position:absolute;bottom:-80px;left:50%;transform:translateX(-50%);width:600px;height:300px;border-radius:50%;background:radial-gradient(ellipse,rgba(99,102,241,.08) 0,transparent 70%);pointer-events:none}.contact__layout{display:grid;grid-template-columns:1fr;grid-gap:var(--space-16);gap:var(--space-16);align-items:start}@media (min-width:1024px){.contact__layout{grid-template-columns:1fr 1.5fr;gap:var(--space-20)}}.contact__eyebrow{display:inline-block;font-size:var(--text-sm);font-weight:600;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-accent);margin-bottom:var(--space-4)}.contact__heading{font-size:var(--text-3xl);font-weight:700;line-height:var(--leading-tight);color:var(--text-primary);margin-bottom:var(--space-5)}@media (min-width:768px){.contact__heading{font-size:var(--text-4xl)}}.contact__subtext{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-10)}.contact__info-items{display:flex;flex-direction:column;gap:var(--space-5)}.contact__info-item{display:flex;flex-direction:column;gap:var(--space-1);padding-bottom:var(--space-5);border-bottom:1px solid var(--border-subtle)}.contact__info-item:last-child{border-bottom:none;padding-bottom:0}.contact__info-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--text-muted)}.contact__info-value{font-size:var(--text-base);font-weight:600;color:var(--text-primary)}.contact__form-wrapper{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-10)}.contact__form{display:flex;flex-direction:column;gap:var(--space-6)}.contact__field-row{display:grid;grid-template-columns:1fr;grid-gap:var(--space-6);gap:var(--space-6)}@media (min-width:640px){.contact__field-row{grid-template-columns:repeat(2,1fr)}}.contact__field{display:flex;flex-direction:column;gap:var(--space-2)}.contact__label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.contact__required{color:var(--color-error-400)}.contact__textarea{width:100%;resize:vertical;min-height:120px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-relaxed);transition:border-color var(--transition-base),box-shadow var(--transition-base);font-family:inherit}.contact__textarea::placeholder{color:var(--text-muted)}.contact__textarea:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 3px rgba(99,102,241,.15)}.contact__textarea--error,.contact__textarea--error:focus{border-color:var(--color-error-400)}.contact__textarea--error:focus{box-shadow:0 0 0 3px rgba(244,63,94,.15)}.contact__field-error{font-size:var(--text-sm);color:var(--color-error-400);margin-top:var(--space-1)}.contact__error-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:rgba(244,63,94,.08);border:1px solid rgba(244,63,94,.3);border-radius:var(--radius-lg);color:var(--color-error-300);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.contact__error-banner svg{flex-shrink:0;margin-top:2px}.contact__privacy-note{font-size:var(--text-xs);color:var(--text-muted);text-align:center;line-height:var(--leading-relaxed)}.contact__privacy-link{color:var(--text-accent);text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;transition:-webkit-text-decoration-color var(--transition-base);transition:text-decoration-color var(--transition-base);transition:text-decoration-color var(--transition-base),-webkit-text-decoration-color var(--transition-base)}.contact__privacy-link:hover{-webkit-text-decoration-color:var(--text-accent);text-decoration-color:var(--text-accent)}.contact__success{max-width:480px;margin:0 auto;text-align:center;padding:var(--space-16) 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.contact__success-icon{color:var(--color-success-400)}.contact__success-title{font-size:var(--text-3xl);font-weight:700;color:var(--text-primary)}.contact__success-text{font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--leading-relaxed)}.input__wrapper{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.input__label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);line-height:1.4;cursor:pointer}.input__required{color:var(--color-error-400)}.input__control{position:relative;display:flex;align-items:center}.input__field{width:100%;height:44px;padding:0 var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-base);line-height:1.5;transition:border-color var(--transition-base),box-shadow var(--transition-base),background-color var(--transition-base);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input__field::placeholder{color:var(--text-muted)}.input__field:hover:not(:disabled){border-color:var(--border-strong)}.input__field:focus{outline:none;border-color:var(--color-primary-400);box-shadow:0 0 0 3px rgba(99,102,241,.2);background:var(--bg-overlay)}.input__field--error{border-color:var(--color-error-400)}.input__field--error:focus{box-shadow:0 0 0 3px rgba(244,63,94,.2)}.input__field:disabled{opacity:.5;cursor:not-allowed}.input__icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-muted);display:flex;align-items:center;pointer-events:none}.input__icon--left{left:var(--space-3)}.input__icon--right{right:var(--space-3)}.input__field--icon-left{padding-left:var(--space-10)}.input__field--icon-right{padding-right:var(--space-10)}.input__hint{color:var(--text-muted)}.input__error,.input__hint{font-size:var(--text-sm);line-height:1.4}.input__error{color:var(--color-error-400);display:flex;align-items:center;gap:var(--space-1)}textarea.input__field{height:auto;min-height:120px;padding:var(--space-3) var(--space-4);resize:vertical}