/* Contact shares the site's material opening. Its art is bounded by the
   introduction, so changing form stages never stretches or recrops it. */
.inquiry-scene > .material-backdrop img { opacity: .86; filter: brightness(.55); object-position: center; }
.inquiry-introduction { padding-block: 172px 64px; }
.inquiry-introduction h1 { font-size: clamp(40px, 3.4vw + 29px, 82px); line-height: 1.06; max-width: 18ch; }
.inquiry-introduction > p { margin-top: 28px; color: var(--text); font-size: clamp(18px, .3vw + 16px, 20px); max-width: 49ch; }
.inquiry-start { margin-top: 28px; }
.inquiry-workspace { grid-column: 2; grid-row: 1; background: var(--canvas); border-top: 1px solid var(--rule); padding-top: 24px; }
.inquiry-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: clamp(40px, 6vw, 88px); align-items: start; padding-block: 48px 80px; }
.inquiry-alternative { grid-column: 1; grid-row: 1; border-top: 1px solid var(--rule); padding-top: 24px; font-size: 16px; }
.inquiry-email { display: block; padding-block: 8px; text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.inquiry-alternative .copy-status { margin-top: 10px; }
.inquiry-mode { font-size: 14px; color: var(--text); border-bottom: 1px solid var(--rule); padding-bottom: 16px; margin-bottom: 20px; }
.inquiry-fallback { padding-block: 32px; }
.inquiry-fallback h2 { font-size: 34px; }
.inquiry-fallback p { margin-top: 24px; }
.inquiry-fallback a { text-decoration: underline; overflow-wrap: anywhere; }
.inquiry-progress { margin-bottom: 32px; }
.inquiry-progress ol { display: flex; gap: 20px; margin: 0; padding: 0; list-style: none; }
.inquiry-progress li { display: flex; flex: 1; min-width: 0; }
.inquiry-progress button { display: block; width: 100%; min-height: 72px; text-align: left; padding: 0 0 12px; background: none; border: 0; border-bottom: 2px solid var(--rule); color: var(--muted); font-size: 14px; line-height: 1.4; }
.inquiry-progress button span { display: block; margin-bottom: 6px; font-size: 13px; }
.inquiry-progress button[aria-current] { color: var(--text); border-color: var(--text); font-weight: 700; }
.inquiry-progress button[aria-current] span { color: var(--copper); }
.inquiry-progress button:disabled { cursor: default; }
.inquiry-context { font-size: 15px; color: var(--muted); margin: 0 0 28px; }
.inquiry-stage h2 { font-size: clamp(30px, 2vw + 12px, 40px); }
.inquiry-stage-note { font-size: 16px; color: var(--muted); margin-top: 16px; margin-bottom: 28px; }
.project-inquiry fieldset { margin: 0 0 32px; padding: 0; border: 0; min-width: 0; }
.project-inquiry legend, .inquiry-field > label { font-size: 17px; font-weight: 700; line-height: 1.5; margin-bottom: 12px; padding: 0; display: block; }
.required-label, .optional-label { color: var(--muted); font-size: 13px; font-weight: 400; margin-left: 8px; white-space: nowrap; }
.project-inquiry .field-hint { color: var(--muted); font-size: 14px; line-height: 1.5; margin-bottom: 12px; }
.inquiry-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.inquiry-choice { display: flex; align-items: start; gap: 12px; padding: 14px; background: var(--surface); border: 1px solid var(--rule); cursor: pointer; min-height: 86px; }
.inquiry-choice:last-child { grid-column: 1 / -1; min-height: 66px; }
.inquiry-choice strong { display: block; font-size: 16px; line-height: 1.4; }
.inquiry-choice small { display: block; color: var(--muted); font-size: 13px; line-height: 1.45; margin-top: 6px; }
.inquiry-choice:has(input:checked) { border: 2px solid var(--text); padding: 13px; background: var(--graphite); }
.project-inquiry input[type="radio"], .project-inquiry input[type="checkbox"] { width: 20px; height: 20px; margin: 3px 0 0; flex: none; accent-color: var(--text); cursor: pointer; }
.project-inquiry input:focus-visible, .project-inquiry textarea:focus-visible { outline: 3px solid var(--text); outline-offset: 4px; }
.inquiry-field { margin-block: 24px; }
.inquiry-field input:not([type="radio"]):not([type="checkbox"]), .inquiry-field textarea { width: 100%; min-width: 0; min-height: 52px; padding: 12px 14px; border: 1px solid var(--rule); background: var(--surface); color: var(--text); font-size: 17px; line-height: 1.45; }
.inquiry-field input::placeholder, .inquiry-field textarea::placeholder { color: var(--muted); opacity: 1; }
.inquiry-field input:disabled { color: var(--muted); border-style: dashed; }
.inquiry-field textarea { resize: vertical; }
.inquiry-field > .field-hint { margin-top: 8px; }
.inquiry-inline-choices { display: flex; flex-wrap: wrap; gap: 4px 28px; }
.inquiry-inline-choice { display: flex; align-items: start; gap: 12px; padding: 12px 0; min-height: 48px; font-size: 16px; line-height: 1.5; cursor: pointer; }
.inquiry-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
.inquiry-outcomes .inquiry-inline-choice { border-bottom: 1px solid var(--rule); }
.inquiry-workflow { margin-block: 32px; padding: 24px; background: var(--surface); }
.inquiry-workflow figcaption { font-size: 16px; font-weight: 700; margin-bottom: 24px; }
.inquiry-workflow ol { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; counter-reset: inquiry-path; }
.inquiry-workflow li { border-top: 1px solid var(--rule); padding-top: 12px; }
.inquiry-workflow li::before { counter-increment: inquiry-path; content: "0" counter(inquiry-path); font-size: 12px; color: var(--muted); display: block; margin-bottom: 8px; }
.inquiry-workflow li strong { display: block; font-size: 16px; line-height: 1.4; }
.inquiry-workflow li span { display: block; color: var(--muted); font-size: 14px; line-height: 1.5; margin-top: 8px; }
.inquiry-workflow > p { margin-top: 24px; font-size: 13px; color: var(--muted); }
.inquiry-services { border-block: 1px solid var(--rule); margin-top: 32px; }
.inquiry-services summary { cursor: pointer; padding-block: 20px; font-size: 17px; min-height: 60px; }
.inquiry-services summary > span { color: var(--muted); font-size: 13px; margin-left: 8px; }
.inquiry-services fieldset { margin-bottom: 16px; }
.inquiry-services .inquiry-inline-choice { font-size: 15px; }
.inquiry-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--rule); padding-top: 28px; margin-top: 36px; }
.inquiry-actions .button, .inquiry-actions .text-link { gap: 14px; }
.inquiry-actions .button:only-child { margin-left: auto; }
.project-inquiry button:disabled { cursor: default; }
.inquiry-actions .button:disabled { background: var(--graphite); color: var(--text); }
.inquiry-review { margin-block: 32px; }
.inquiry-review-group { padding-block: 24px; border-top: 1px solid var(--rule); }
.inquiry-review-heading { display: flex; gap: 24px; align-items: baseline; justify-content: space-between; }
.inquiry-review-heading h3 { font-size: 22px; }
.inquiry-review-heading .text-link { font-size: 14px; min-height: 48px; }
.inquiry-review dl { margin: 16px 0 0; font-size: 16px; }
.inquiry-review dt { color: var(--muted); margin-top: 14px; font-size: 14px; }
.inquiry-review dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.inquiry-contact-fields > legend { font-size: 22px; }
.project-inquiry .inquiry-contact-fields { margin-top: 40px; }
.inquiry-errors { margin: 24px 0; padding: 20px; border: 2px solid var(--text); }
.inquiry-errors h3 { font-size: 23px; }
.inquiry-errors ul { margin-bottom: 0; }
.inquiry-errors li { margin-top: 10px; font-size: 16px; }
.inquiry-errors a { text-decoration: underline; text-underline-offset: 4px; }
.project-inquiry .field-error { font-size: 15px; margin-top: 10px; font-weight: 700; }
.project-inquiry [aria-invalid="true"] { border-color: var(--text); border-width: 2px; }
.inquiry-data-note { margin-top: 32px; color: var(--muted); font-size: 14px; }
.inquiry-security { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--rule); min-width: 0; }
.inquiry-security h3 { font-size: 20px; margin-bottom: 12px; }
.inquiry-security .field-hint a { text-decoration: underline; text-underline-offset: 4px; }
.inquiry-turnstile { width: min(100%, 360px); min-width: 0; max-width: 100%; }
.inquiry-security-status { margin-top: 12px; font-size: 14px; color: var(--muted); }
.inquiry-security .text-link { margin-top: 12px; min-height: 48px; }
.inquiry-status { margin-top: 24px; font-size: 16px; }
.inquiry-status:empty { margin: 0; }
.inquiry-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.inquiry-receipt { padding-block: 36px; }
.inquiry-receipt h2 { font-size: 40px; margin-top: 24px; }
.inquiry-receipt p { margin-top: 24px; }
.inquiry-receipt dl { padding-block: 24px; margin-block: 24px; border-block: 1px solid var(--rule); }
.inquiry-receipt dt { font-size: 14px; color: var(--muted); }
.inquiry-receipt dd { margin: 8px 0 0; font-size: 22px; overflow-wrap: anywhere; }
.inquiry-receipt .text-link { margin-top: 32px; }
.receipt-mark { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; border: 1px solid var(--rule); font-size: 24px; }
.inquiry-coverage { padding-block: 0 64px; }
.inquiry-coverage p { border-top: 1px solid var(--rule); padding-top: 32px; font-size: 16px; color: var(--muted); max-width: none; }
@media (max-width: 980px) {
  .inquiry-introduction { padding-block: 44px 48px; }
  .inquiry-scene > .material-backdrop img { filter: brightness(.55); opacity: .7; object-position: 65% center; }
  .inquiry-layout { grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: 32px; padding-top: 32px; }
  .inquiry-choices, .inquiry-outcomes { grid-template-columns: 1fr; }
  .inquiry-choice { min-height: 72px; }
  .inquiry-progress ol { gap: 12px; }
}
@media (max-width: 720px) {
  .inquiry-layout { grid-template-columns: 1fr; gap: 24px; padding-block: 32px 56px; }
  .inquiry-introduction { padding-block: 32px 40px; }
  .inquiry-introduction h1 { max-width: 17ch; }
  .inquiry-introduction > p { margin-top: 24px; }
  .inquiry-workspace { grid-column: 1; grid-row: 1; min-width: 0; }
  .inquiry-alternative { grid-row: 2; margin-top: 8px; padding-top: 24px; }
  .inquiry-alternative .inquiry-email { padding-block: 12px; }
  .inquiry-alternative .copy-email { margin-top: 8px; }
  .inquiry-alternative .copy-status:empty { min-height: 0; margin: 0; }
  .inquiry-progress { margin-bottom: 28px; }
  .inquiry-progress ol { gap: 12px; }
  .inquiry-progress button { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 88px; font-size: 13px; padding-bottom: 14px; }
  .inquiry-progress button span { margin: 0; }
  .inquiry-stage h2 { font-size: 32px; }
  .inquiry-stage-note { margin-block: 16px 28px; line-height: 1.55; }
  .project-inquiry legend, .inquiry-field > label { font-size: 17px; }
  .inquiry-choice { padding: 16px; gap: 12px; }
  .inquiry-choice:has(input:checked) { padding: 15px; }
  .inquiry-choice small { font-size: 14px; }
  .inquiry-field { margin-block: 28px; }
  .inquiry-inline-choices { gap: 4px 20px; }
  .inquiry-workflow { padding: 20px; }
  .inquiry-workflow ol { grid-template-columns: 1fr; gap: 16px; }
  .inquiry-actions { gap: 16px; }
  .inquiry-actions .button { flex: 1; }
  .inquiry-review-heading { gap: 12px; }
  .inquiry-review-heading h3 { font-size: 24px; }
  .inquiry-review dl { line-height: 1.55; }
  .inquiry-errors { padding: 16px; }
  .inquiry-errors h3 { font-size: 22px; align-items: flex-start; }
  .inquiry-errors ul { padding-left: 20px; }
  .inquiry-receipt h2 { font-size: 34px; }
  .inquiry-receipt dd { font-size: 20px; }
}

.inquiry-review-heading .text-link { gap: 8px; }
.inquiry-errors h3 { display: flex; align-items: center; gap: 12px; }

@media (min-width: 981px) {
  .contact-page .site-top { position: absolute; inset: 0 0 auto; z-index: 2; background: transparent; }
}
