/* Inline-friendly form inputs that match the dark Bloomberg-terminal look. */
.cf-input {
  width: 100%;
  padding: 14px 16px;
  background: var(--bg-elev, #111315);
  border: 1px solid var(--bd-subtle, #1F2227);
  border-radius: 10px;
  color: var(--tx-primary, #F2F4F7);
  font-family: var(--f-body, Inter, system-ui, sans-serif);
  font-size: 15px;
  line-height: 1.4;
  transition: border-color 200ms ease, background 200ms ease;
  outline: none;
}
.cf-input::placeholder { color: var(--tx-muted, #5C6470); }
.cf-input:hover { border-color: var(--bd-accent, #2A2F36); }
.cf-input:focus {
  border-color: var(--ac-primary, #3FE0C5);
  background: rgba(63,224,197,0.03);
  box-shadow: 0 0 0 3px rgba(63,224,197,0.08);
}
textarea.cf-input { resize: vertical; min-height: 110px; }
select.cf-input {
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--tx-muted) 50%),
    linear-gradient(135deg, var(--tx-muted) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 13px) 50%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 36px;
}

@media (max-width: 640px) {
  .contact-form > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
}
