.vf-page-hero {
  padding-block: clamp(3.25rem, 5.5vw, 5rem) !important;
}
.vf-page-hero .vf-display { max-width: 760px; }
.vf-page-hero .vf-lead { max-width: 720px; }
.vf-contact-form-wrap {
  margin-block-start: 0 !important;
  padding: clamp(2.75rem, 5vw, 4.5rem) 0;
  background: var(--vf-canvas, #fbf9f4);
}
.vf-contact-form-wrap > .wp-block-shortcode {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.vf-inquiry-section {
  width: min(100% - 64px, 1400px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: clamp(3rem, 5vw, 5rem);
  align-items: start;
  padding: clamp(3rem, 5vw, 5rem);
  border-top: 5px solid var(--vf-copper, #b95730);
  background: var(--vf-paper, #f4f0e7);
  box-shadow: 0 22px 52px rgba(16, 47, 67, .10);
}
.vf-inquiry-heading h2 { margin: .45rem 0 1rem; font-size: clamp(2rem, 4vw, 3.3rem); line-height: 1.04; }
.vf-inquiry-heading > p { max-width: 34rem; color: var(--vf-slate, #56666d); font-size: 1.03rem; line-height: 1.7; }
.vf-inquiry-contact { margin: 1.4rem 0 0; color: var(--vf-ink, #102f43) !important; }
.vf-inquiry-contact a { color: var(--vf-ink, #102f43); text-decoration-color: var(--vf-copper, #b95730); text-underline-offset: 3px; }
.vf-inquiry-note { margin: 1.35rem 0 0; padding-top: 1.2rem; border-top: 1px solid #d5cec1; font-size: .9rem !important; line-height: 1.55 !important; }
.vf-inquiry-form { position: relative; }
.vf-required-note { margin: 0 0 1rem; color: #56666d; font-size: .86rem; font-weight: 700; }
.vf-required-note span { color: #a43d2f; }
.vf-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.vf-form-field { margin: 0; }
.vf-form-field label { display: block; margin-bottom: .5rem; color: var(--vf-ink, #102f43); font-size: .96rem; font-weight: 800; }
.vf-form-field input,
.vf-form-field select,
.vf-form-field textarea {
  width: 100%;
  min-height: 54px;
  border: 1px solid #b9b5ac;
  border-radius: 0;
  background: #fffefa;
  color: #102f43;
  font: inherit;
  font-size: 1rem;
}
.vf-form-field input,
.vf-form-field select { padding: .72rem .8rem; }
.vf-form-field textarea { min-height: 150px; padding: .8rem; resize: vertical; }
.vf-form-field input:focus,
.vf-form-field select:focus,
.vf-form-field textarea:focus { outline: 3px solid rgba(185,87,48,.24); border-color: #b95730; }
.vf-form-field input.vf-invalid,
.vf-form-field select.vf-invalid,
.vf-form-field textarea.vf-invalid,
.vf-form-consent input.vf-invalid { border: 2px solid #a43d2f; background: #fff7f5; }
.vf-form-message { margin-top: 1.15rem; }
.vf-field-help { display: block; margin-top: .42rem; color: #56666d; font-size: .82rem; line-height: 1.4; }
.vf-form-consent { display: flex; gap: .75rem; align-items: flex-start; margin: 1.25rem 0; color: #374f5d; font-size: .98rem; line-height: 1.5; }
.vf-form-consent input { width: 20px; height: 20px; margin-top: .1rem; flex: 0 0 auto; }
.vf-form-submit { display: flex; align-items: center; gap: 1rem 1.25rem; flex-wrap: wrap; }
.vf-form-submit button { min-height: 52px; border: 0; border-radius: 0; padding: .85rem 1.4rem; background: #b95730; color: #fff; cursor: pointer; font: inherit; font-weight: 800; }
.vf-form-submit button:hover { background: #873f28; }
.vf-form-submit p { max-width: 340px; margin: 0; color: #56666d; font-size: .82rem; line-height: 1.45; }
.vf-form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.vf-form-status { width: min(100% - 64px, 1400px); margin: 2rem auto 0; padding: 1rem 1.25rem; display: flex; flex-direction: column; gap: .2rem; }
.vf-form-success { border-left: 5px solid #2f7350; background: #eaf5ed; color: #173f2b; }
.vf-form-error { border-left: 5px solid #a43d2f; background: #faece9; color: #73291f; }
@media (max-width: 980px) {
  .vf-page-hero { padding-block: 3rem !important; }
  .vf-contact-form-wrap { padding: 2.5rem 0; }
  .vf-inquiry-section { width: min(100% - 32px, 680px); grid-template-columns: 1fr; gap: 2.25rem; padding: 2.25rem 1.35rem; }
}
@media (max-width: 620px) {
  .vf-form-grid { grid-template-columns: 1fr; }
  .vf-form-status { width: min(100% - 32px, 680px); }
}
