.contact__top{max-width:var(--w-content);padding:var(--sp-3xl) var(--sp-xl);gap:var(--sp-3xl);grid-template-columns:2fr 3fr;align-items:start;margin:0 auto;display:grid}.contact__title{font-size:var(--fs-h1);margin-bottom:var(--sp-xl)}.contact__details{flex-direction:column;display:flex}.contact__detail{padding:var(--sp-md) 0;border-bottom:1px solid var(--c-border)}.contact__label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.1em;color:var(--c-text-tertiary);margin-bottom:4px;display:block}.contact__value{font-family:var(--font-heading);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--c-text)}.contact__value--link{color:var(--c-brand);transition:color .15s}.contact__value--link:hover{color:var(--c-brand-dark)}.contact__form-wrap{background:var(--c-surface);padding:var(--sp-xl);border:1px solid var(--c-border)}.contact__form-title{font-size:var(--fs-h3);margin-bottom:var(--sp-xl)}.contact__field{margin-bottom:var(--sp-md);flex-direction:column;gap:6px;display:flex}.contact__field label{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--c-text-secondary)}.contact__field input,.contact__field select,.contact__field textarea{border:1px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface-elevated);color:var(--c-text);font-size:var(--fs-body);padding:12px 16px;transition:border-color .15s}.contact__field input:focus,.contact__field select:focus,.contact__field textarea:focus{border-color:var(--c-brand);outline:none}.contact__field textarea{resize:vertical;min-height:100px}.contact__field-row{gap:var(--sp-md);grid-template-columns:1fr 1fr;display:grid}.contact__submit{margin-top:var(--sp-md);width:100%}.contact__error{color:#c0392b;font-size:var(--fs-body-sm);margin-bottom:var(--sp-sm)}.contact__success{padding:var(--sp-2xl);text-align:center}.contact__success h2{font-size:var(--fs-h3);margin-bottom:var(--sp-sm);color:var(--c-success)}.contact__success p{color:var(--c-text-secondary)}@media (width<=768px){.contact__top{gap:var(--sp-xl);padding:var(--sp-2xl) var(--sp-md);grid-template-columns:1fr}.contact__title{font-size:2.25rem}.contact__field-row{grid-template-columns:1fr}}
