{{-- Contact — ported from the legacy contact.php, with a form that works. --}}

Visit or get in touch

Our Ilford office has been part of Cranbrook Road since 1896. We are happy to discuss your requirements by phone, email or in person.

Follow us

Send an enquiry

Tell us a little about your property or requirements and we will get back to you.

@if (session('enquiry_sent'))

Thank you — your enquiry has been sent and we will be in touch shortly. For urgent matters please call {{ config('site.phone.display') }}.

@endif @if ($property)

Enquiring about {{ $property->title }}.

@endif @if ($errors->any()) @endif
@csrf @if ($property) @endif {{-- Honeypot. Hidden from people three ways — off-screen, aria-hidden and out of tab order — but present in the DOM for bots to fill. Submitting anything here fails validation. --}} {{-- .ip-field, not .ip-form-field. The field wrapper, its label and every input / select / textarea inside it are styled off .ip-field in inner-pages.css — the renamed class matched nothing, so the controls fell back to browser defaults for width, height and spacing. --}}
@error('name') {{ $message }} @enderror
@error('email') {{ $message }} @enderror
@error('phone') {{ $message }} @enderror
@error('topic') {{ $message }} @enderror
@error('message') {{ $message }} @enderror
{{-- Legacy order: the note sits above the button, which is what .ip-form's flex column and the button's align-self: flex-start were laid out around. --}}

We use your details only to respond to your enquiry. See our Privacy Policy.

@error(\App\Http\Requests\StoreEnquiryRequest::RECAPTCHA) {{ $message }} @enderror {{-- Invisible reCAPTCHA binds to the submit button: Google intercepts the click, runs its check, and calls the callback with a token which the handler posts. Without the key pair configured, this is an ordinary button and the form posts directly. --}}
{{-- Only loaded when a key pair is configured, so an install without credentials pulls nothing from Google at all. The callback fires after Google has issued a token and written it into the form's g-recaptcha-response field; submit() then posts the form with the token attached, which App\Rules\ValidRecaptcha verifies. --}} @if ($recaptchaSiteKey) @push('scripts') @endpush @endif