/* =====================================================================
   GENERATED FILE -- DO NOT EDIT.

   Built from _source/assets/components/contact.css by _dev/generate/theme-assets.mjs. Edit the
   snapshot and regenerate; a hand edit here fails the gate at commit
   rather than surviving to contradict its source. The snapshot is frozen:
   it has been the design of record since 2026-10-08 (frozenOn in its
   source.json), so it is edited in place and never re-synced.

     node _dev/generate/theme-assets.mjs redfish   rebuild this file

   The file below is the static site's stylesheet verbatim, comments and
   all, and unchanged: the contact component, every selector
   under .c-contact.

   NOTHING WORDPRESS-SPECIFIC GOES IN THIS FILE. Adapter rules that map
   block markup onto these components live in native-adapters.css, which
   is hand-written and loads after this one. Keeping them apart is what
   lets this copy stay diffable against the original.
   ===================================================================== */

/* contact: the contact form beside the ways to reach the business.
   Root: <section class="block c-contact">. */
/* pull the form section up tight under the FAQ block */
.c-contact.block { padding-top: clamp(18px, 2.4vw, 30px); }
.c-contact .contact-grid { display: grid; grid-template-columns: 1fr .9fr; gap: clamp(32px, 6vw, 64px); align-items: start; }
.c-contact .field { display: grid; gap: 7px; }
.c-contact .field label { font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.c-contact .field input, .c-contact .field textarea, .c-contact .field select { font: inherit; font-size: 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); color: var(--fg); transition: border-color .2s; }
.c-contact .field textarea { min-height: 120px; resize: vertical; }
.c-contact .field input:focus, .c-contact .field textarea:focus, .c-contact .field select:focus { outline: none; border-color: var(--accent); background: var(--surface); }
.c-contact .field.invalid input, .c-contact .field.invalid textarea { border-color: var(--accent); }
.c-contact .field .err { font-family: var(--font-mono); font-size: 11px; color: var(--accent-ink); display: none; }
.c-contact .field.invalid .err { display: block; }
.c-contact .contact-aside { display: grid; gap: clamp(20px,3vw,30px); }
.c-contact .info-group h3 { font-size: 20px; }
.c-contact .info-group .tag { font-family: var(--font-mono); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; display: block; }
.c-contact .detail-row { display: flex; gap: 14px; align-items: baseline; padding-block: 9px; border-top: 1px solid var(--line); }
.c-contact .detail-row .k { flex: none; width: 84px; font-family: var(--font-mono); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.c-contact .detail-row .v { color: var(--fg); }
@media (max-width: 880px) {
  .c-contact .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .c-contact .detail-row { flex-direction: column; gap: 3px; } .c-contact .detail-row .k { width: auto; }
}

/* the form */
.c-contact .contact-form-col h2 { font-size: clamp(24px, 3vw, 32px); margin-top: 12px; }
.c-contact .contact-form-col > p.muted { margin-top: 12px; max-width: 52ch; font-size: 15.5px; }
.c-contact .cform { margin-top: 24px; display: grid; gap: 16px; }
.c-contact .cform .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.c-contact .field { display: flex; flex-direction: column; gap: 6px; }
.c-contact .field label { font-family: var(--font-mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.c-contact .field label .req { color: var(--accent); }
.c-contact .field input, .c-contact .field select, .c-contact .field textarea { font-family: var(--font-body); font-size: 15px; color: var(--fg); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; width: 100%; transition: border-color .18s, box-shadow .18s; }
.c-contact .field textarea { min-height: 130px; resize: vertical; }
.c-contact .field input:focus, .c-contact .field select:focus, .c-contact .field textarea:focus { outline: none; border-color: var(--fg); box-shadow: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 78%); }
.c-contact .field.invalid input, .c-contact .field.invalid select, .c-contact .field.invalid textarea { border-color: var(--accent); }
.c-contact .field .err { display: none; font-size: 12.5px; color: var(--accent-ink); }
.c-contact .field.invalid .err { display: block; }
.c-contact .cform-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.c-contact .cform-fineprint { font-size: 12.5px; color: var(--muted); font-family: var(--font-mono); }
.c-contact .form-success { display: none; border: 1px solid var(--border); background: var(--surface); border-radius: 14px; padding: 28px; margin-top: 24px; }
.c-contact .form-success.show { display: block; }
.c-contact .form-success .chk { width: 44px; height: 44px; border-radius: 999px; background: color-mix(in oklab, var(--accent), transparent 88%); color: var(--accent); display: grid; place-items: center; font-size: 22px; margin-bottom: 14px; }
.c-contact .form-success h3 { font-size: 20px; }
.c-contact .form-success p { color: var(--muted); margin-top: 8px; font-size: 15px; }
.c-contact .quick-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
@media (max-width: 560px) { .c-contact .cform .row2 { grid-template-columns: 1fr; } }
