/** Contact and project brief pages. */
.bv-contact-page { background: var(--bv-bg); }
.bv-contact-hero { border-bottom: var(--bv-border-width) solid var(--bv-border); background: radial-gradient(circle at 82% 25%, color-mix(in srgb,var(--bv-primary) 18%,transparent),transparent 30rem); }
.bv-contact-hero .bv-container { padding-block: var(--bv-section-space); }.bv-contact-hero h1 { margin-block: var(--bv-space-4) var(--bv-space-6); font-size: var(--bv-type-display-lg); }.bv-contact-hero p:last-child { max-width: 46rem; color: var(--bv-text-secondary); font-size: var(--bv-type-body-lg); }
.bv-contact-section { background: var(--bv-surface); }.bv-contact-layout { display: grid; gap: var(--bv-space-12); }.bv-contact-intro { max-width: 34rem; }.bv-contact-intro h2,.bv-form-success h2 { margin-block: var(--bv-space-4) var(--bv-space-6); font-size: var(--bv-type-h2); }.bv-contact-intro > p:last-of-type,.bv-form-success > p:last-child { color: var(--bv-text-secondary); font-size: var(--bv-type-body-lg); }
.bv-contact-intro ol { margin: var(--bv-space-8) 0 0; padding: 0; border-top: var(--bv-border-width) solid var(--bv-border); list-style: none; }.bv-contact-intro li { display: flex; gap: var(--bv-space-4); padding-block: var(--bv-space-4); border-bottom: var(--bv-border-width) solid var(--bv-border); }.bv-contact-intro li span { color: var(--bv-accent); font-family: var(--bv-font-mono); font-size: var(--bv-type-label); }
.bv-contact-form { padding: var(--bv-space-6); border: var(--bv-border-width) solid var(--bv-border); border-radius: var(--bv-radius-default); background: var(--bv-bg); }.bv-contact-form__grid { display: grid; gap: var(--bv-space-6); }.bv-form-field--full { grid-column: 1/-1; }.bv-form-field label { display: block; margin-bottom: var(--bv-space-2); font-weight: var(--bv-font-weight-medium); }.bv-form-field label span { color: var(--bv-text-muted); font-size: var(--bv-type-body-sm); font-weight: var(--bv-font-weight-regular); }
.bv-form-field :where(input,select,textarea) { width: 100%; min-height: 3rem; padding: var(--bv-space-3) var(--bv-space-4); border: var(--bv-border-width) solid var(--bv-border); border-radius: var(--bv-radius-small); background: var(--bv-surface); color: var(--bv-text); }.bv-form-field textarea { resize: vertical; }.bv-form-field :where(input,select,textarea)[aria-invalid="true"] { border-color: var(--bv-accent); }.bv-form-field__error { margin-top: var(--bv-space-2); color: var(--bv-accent); font-size: var(--bv-type-body-sm); }
.bv-contact-form > .bv-button { margin-top: var(--bv-space-8); }.bv-form-honeypot { position: absolute!important; left: -9999px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }.bv-form-status,.bv-form-success { padding: var(--bv-space-6); border: var(--bv-border-width) solid var(--bv-border); border-radius: var(--bv-radius-default); background: var(--bv-surface-elevated); }.bv-form-status { margin-bottom: var(--bv-space-6); }.bv-form-status--error { border-left: 3px solid var(--bv-accent); }.bv-form-success { min-height: 18rem; align-content: center; }
@media (min-width: 48rem) { .bv-contact-layout { grid-template-columns: minmax(16rem,.7fr) minmax(0,1.3fr); }.bv-contact-form { padding: var(--bv-space-8); }.bv-contact-form__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
