.v2-contact-form [hidden] { display: none !important; }
.site-v2 .v2-contact-form .pcm-box > .pcm-input,
.v2-contact-form .v2-contact-method,
.v2-contact-form .v2-contact-extra { grid-column: 1 / -1; min-width: 0; }
.site-v2 .v2-contact-form .v2-contact-method { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; padding: 0; border: 0; margin: 0; }
/* Bootstrap gives legend width:100%; keep this flex heading from squeezing
   the two radio labels into single-character columns. */
.site-v2 .v2-contact-form .v2-contact-method > legend { flex: 1 1 auto; width: auto; min-width: max-content; margin: 0; font-size: 15px; }
.site-v2 .v2-contact-form .v2-contact-method > label { display: inline-flex; flex: 0 0 auto; min-width: max-content; min-height: 44px; gap: 8px; align-items: center; margin: 0; white-space: nowrap; cursor: pointer; }
.site-v2 .v2-contact-form .v2-contact-method > label > input[type="radio"] { box-sizing: border-box; flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: #3d8245; }
.site-v2 .v2-contact-form .v2-contact-method > label > input[type="radio"]:focus-visible { outline: 2px solid #3d8245; outline-offset: 4px; }
.v2-contact-form label > span,
.v2-contact-form legend > span,
.v2-contact-form summary > span { margin-left: 8px; font-size: 12px; color: #637168; font-weight: 400; }
.v2-contact-form select { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--v3-line, #cbd5cc); border-radius: 0; background: var(--v3-paper, #f3efe7); font: inherit; color: #18372a; }
.v2-contact-form .v2-contact-extra { padding: 16px 0; border-block: 1px solid var(--v3-line, #cbd5cc); }
.v2-contact-form summary { color: #18372a; font-size: 15px; cursor: pointer; font-weight: 600; }
.v2-contact-form summary:focus-visible,
.v2-contact-form select:focus-visible { outline: 2px solid #3d8245; outline-offset: 4px; }
.v2-contact-form .v2-contact-extra-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 22px; }
.site-v2 .v2-contact-form .v2-contact-extra textarea { min-height: 100px; }
@media (max-width: 600px) {
  .site-v2 .v2-contact-form .v2-contact-method > legend { flex: 0 0 100%; width: 100%; min-width: 0; }
  .v2-contact-form .v2-contact-extra-fields { grid-template-columns: minmax(0, 1fr); }
}
