/** * SENTYAL Blueprint — Contact * * Supports query params ?subject=X and ?artist=X to pre-fill the form, * since every CTA across the deployed site uses these. The form posts * to /contact/submit (handler queued — until then, the form falls back * to a mailto: link the user can send from their own email client). */ // Read subject/artist params for pre-fill (sanitize for output) $qs_subject = isset($_GET['subject']) ? trim($_GET['subject']) : ''; $qs_artist = isset($_GET['artist']) ? trim($_GET['artist']) : ''; // Map subject slugs to readable subject lines $subject_map = [ 'visit-bainbridge' => 'Visit — Bainbridge Island', 'visit-park-city' => 'Visit — Park City', 'material-mediations' => 'Material Mediations exhibition', 'past-exhibition-archive' => 'Past exhibition archive request', 'collection-search' => 'Collection — looking for something specific', 'bespoke-viewing-room' => 'Bespoke Viewing Room request', 'art-visualizer-request' => 'Art Visualizer placement request', ]; $pretty_subject = $subject_map[$qs_subject] ?? ucwords(str_replace('-', ' ', $qs_subject)); // Build pre-filled subject line $prefill_subject = ''; if ($qs_artist) { $artist_pretty = ucwords(str_replace('-', ' ', $qs_artist)); $prefill_subject = "Inquiry about {$artist_pretty}"; } elseif ($pretty_subject) { $prefill_subject = $pretty_subject; } $page_title = 'Contact — Write to JG Art Gallery'; $page_description = 'Write to JG Art Gallery. Inquire about a work, schedule a visit on Bainbridge Island or in Park City, request a bespoke Viewing Room, or open a provenance research file. We respond personally, usually same business day.'; require_once __DIR__ . '/../_shared/config.php'; $canonical_url = jg_canonical('/contact/'); $body_class = 'page-contact'; // === URL templatization ===== $canon_contact = jg_canonical('/contact/'); $canon_root = jg_canonical('/'); // === End URL templatization ===== $extra_head = << .cn-hero { background: var(--b); color: var(--w); padding: 120px 32px 80px; } .cn-hero__inner { max-width: 920px; margin: 0 auto; } .cn-hero .eyebrow { color: var(--o); } .cn-hero .h1 { color: var(--w); margin: 16px 0 32px; } .cn-hero .lede { color: rgba(255,255,255,0.78); } .cn-form-wrap { display: grid; grid-template-columns: 1.6fr 1fr; gap: 64px; max-width: 1200px; margin: 0 auto; } .cn-form { background: var(--w); border: 1px solid var(--bd); padding: 48px 40px; } .cn-form__head { margin-bottom: 32px; } .cn-form__tag { font-family: var(--f-ui); font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--o); margin-bottom: 14px; } .cn-form__h { font-family: var(--f-ed); font-style: italic; font-weight: 400; font-size: clamp(28px, 4vw, 38px); line-height: 1.1; color: var(--b); margin: 0; } .cn-form__field { margin-bottom: 24px; } .cn-form__field label { display: block; font-family: var(--f-ui); font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--m); margin-bottom: 8px; } .cn-form__field input, .cn-form__field textarea { width: 100%; padding: 12px 14px; font-family: var(--f-ui); font-size: 15px; line-height: 1.5; color: var(--b); background: var(--bg); border: 1px solid var(--bd); transition: border-color .15s; box-sizing: border-box; } .cn-form__field input:focus, .cn-form__field textarea:focus { outline: none; border-color: var(--o); } .cn-form__field textarea { resize: vertical; min-height: 160px; } .cn-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .cn-form__submit { margin-top: 8px; display: flex; gap: 12px; flex-wrap: wrap; align-items: center; } .cn-form__note { font-family: var(--f-ui); font-size: 12px; line-height: 1.5; color: var(--m); margin-top: 18px; } .cn-form__fallback { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--bd); } .cn-form__fallback h4 { font-family: var(--f-ui); font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--m); margin: 0 0 10px; } .cn-form__fallback p { font-size: 14px; line-height: 1.6; color: var(--m); margin: 0; } .cn-side { display: flex; flex-direction: column; gap: 28px; } .cn-channel { background: var(--bg); border: 1px solid var(--bd); padding: 28px 24px; } .cn-channel__tag { font-family: var(--f-ui); font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--o); margin-bottom: 12px; } .cn-channel h3 { font-family: var(--f-ed); font-style: italic; font-weight: 400; font-size: 22px; line-height: 1.2; color: var(--b); margin: 0 0 12px; } .cn-channel p { font-size: 14px; line-height: 1.6; color: var(--m); margin: 0 0 14px; } .cn-channel a.btn { font-size: 11px; padding: 10px 18px; } .cn-promise { background: var(--bg); padding: 80px 0; border-top: 1px solid var(--bd); } .cn-promise__inner { max-width: 880px; margin: 0 auto; padding: 0 32px; } .cn-promise__h { font-family: var(--f-ed); font-style: italic; font-weight: 400; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; color: var(--b); margin: 0 0 20px; } .cn-promise p { font-family: var(--f-ed); font-style: italic; font-size: 18px; line-height: 1.65; color: var(--m); margin: 0 0 18px; } @media (max-width: 900px) { .cn-form-wrap { grid-template-columns: 1fr; gap: 32px; } .cn-form { padding: 36px 28px; } .cn-form__row { grid-template-columns: 1fr; } } @media (max-width: 768px) { .cn-hero { padding: 80px 20px 64px; } } HTML; ob_start(); ?>

Contact

Write to the gallery.

Every inquiry, every hold, every acquisition is answered by the gallery — not a chatbot, not a queue. Tell us what you are thinking about, what you would like to see, or what you would like to know. We respond personally, usually same business day.

General inquiry

Send the gallery a note.

We respond personally, usually same business day.
Received. We will respond personally, usually same business day.

Prefer email directly

If your mail client opens forms awkwardly, write to the gallery at info@jgartgallery.com with whatever you would have put here. Same person reads it. Same response time.

Visit

Schedule a visit

Bainbridge Island or Park City. Tell us when you would like to come and what you would like to see.

Visit details
Press

Press & media

Press kits, image requests, exhibition press releases, interview coordination with represented artists.

Press resources
Trade

Designers & trade

Designers, architects, art consultants, corporate placements. Trade portal access on request.

Trade program
Provenance

Open a research file

Bring a piece for provenance research, attribution opinion, or condition assessment.

Submit a piece

A note about how we respond.

The gallery is small enough that the person who reads your message is the person who answers it. Inquiries that arrive during business hours usually get a reply the same day. Inquiries that arrive at midnight on a Sunday get a reply Monday morning. We do not run a contact-form auto-responder, and your inquiry does not enter a queue ahead of someone else's.

If your question has a deadline — a specific work you are deciding on, an installation date, a flight you are about to book — say so in your message. We will move it to the front and respond accordingly.

JG Art Gallery
JG
JG Art Gallery Bainbridge Island · Park City · Worldwide
The Roster
The Roster Invited Artists Currently Featured
Collection
All Works Viewing Rooms Art Visualizer
Exhibitions Journal
Currently On View Upcoming Past Exhibitions
Provenance
The Program The Provenance Collection Open a research file
Acquire
How to Buy Trade Program Financing Shipping & Returns
Visit
Bainbridge Island, WA Park City, UT Virtual Gallery Walk Worldwide
Portals
Collector Portal Artist Portal Trade Portal
About
Our Story Press Gives FAQ Contact
Collector Access
JG
JG Art Gallery
The Roster The Roster Invited Artists Currently Featured
Collection All Works Viewing Rooms Art Visualizer
Exhibitions Currently On View Upcoming Past Exhibitions
Provenance The Program The Provenance Collection Open a research file
Acquire How to Buy Trade Program Financing Shipping & Returns
Visit Bainbridge Island, WA Park City, UT Virtual Gallery Walk Worldwide
Portals Collector Portal Artist Portal Trade Portal
About Our Story Press Gives FAQ Contact
Collector Access
JG
JG Art Gallery Bainbridge Island · Park City · Worldwide

The Artists

The Roster Invited Artists Currently Featured

The Gallery

Our Story Press Contact

Visit

Bainbridge Island, WA Park City, UT Virtual Gallery Walk

For Collectors

Collector Access The Provenance Program How to Buy Trade Program
© 2026 JG Art Gallery + Events. All rights reserved.
FAQ Shipping & Returns Contact
This gallery runs on SENTYAL · The gallery OS for the art world