.contact-hero{padding-top:calc(var(--navbar-height) + var(--space-20));padding-bottom:var(--space-12);text-align:center;position:relative}.contact-hero:before{content:"";background:var(--gradient-glow-violet);filter:blur(120px);opacity:.3;pointer-events:none;width:700px;height:350px;position:absolute;top:0;left:50%;transform:translate(-50%)}.contact-layout{gap:var(--space-12);grid-template-columns:1.2fr .8fr;align-items:flex-start;display:grid}.contact-form{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-10)}.contact-form h3{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-2)}.contact-form>p{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.form-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-group--full{grid-column:1/-1}.form-group label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.form-group label .required{color:var(--color-accent-rose);margin-left:2px}.form-input,.form-select,.form-textarea{padding:var(--space-3) var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent-violet);box-shadow:0 0 0 3px #7c3aed26}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-select{appearance:none;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238B949E' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.form-select option{background:var(--color-bg-elevated);color:var(--color-text-primary)}.form-textarea{resize:vertical;min-height:120px}.form-error{font-size:var(--text-xs);color:var(--color-accent-rose);display:none}.form-group.has-error .form-error{display:block}.form-group.has-error .form-input,.form-group.has-error .form-select,.form-group.has-error .form-textarea{border-color:var(--color-accent-rose)}.form-submit{margin-top:var(--space-6);grid-column:1/-1}.form-success{text-align:center;padding:var(--space-12);display:none}.form-success.is-visible{display:block}.form-success__icon{width:64px;height:64px;margin:0 auto var(--space-6);border-radius:var(--radius-circle);color:var(--color-accent-emerald);background:#10b9811f;border:1px solid #10b98140;justify-content:center;align-items:center;font-size:28px;display:flex}.form-success h3{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-3)}.form-success p{color:var(--color-text-secondary);font-size:var(--text-sm)}.contact-info{gap:var(--space-6);flex-direction:column;display:flex}.contact-info-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);transition:all var(--transition-base)}.contact-info-card:hover{border-color:var(--color-border-hover)}.contact-info-card__icon{border-radius:var(--radius-lg);width:48px;height:48px;margin-bottom:var(--space-4);color:var(--color-accent-violet-light);background:#7c3aed1f;border:1px solid #7c3aed33;justify-content:center;align-items:center;font-size:22px;display:flex}.contact-info-card h4{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.contact-info-card p,.contact-info-card a{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.contact-info-card a:hover{color:var(--color-accent-violet-light)}@media (width<=768px){.contact-layout,.form-grid{grid-template-columns:1fr}.contact-info{order:-1}}
