/* CF7/Privacy only. No live inquiry service. */
.contact-page { padding-block:40px 48px; font-size:16px; }
.contact-page-heading { text-align:center; padding-bottom:40px; }
.contact-page-heading::before { content:""; display:block; width:138px; height:102px; margin:0 auto 4px; background:url('plum-heading.svg') center / contain no-repeat; }
.contact-page h1 { margin:0; color:#222; font:26px/1.6 var(--serif,serif); }
.contact-page h2 { color:#52653e; font-size:21px; line-height:1.6; }
.contact-page a { text-decoration:underline; text-underline-offset:4px; }
.contact-notice { background:#faf7e6; border-left:4px solid #64794e; padding:20px 28px; margin-bottom:32px; }
.contact-notice h2 { margin:0 0 12px; }
.contact-notice p { margin:10px 0 0; }
.contact-form,.contact-editor-content { max-width:800px; margin-inline:auto; }
.contact-field { margin-block:28px; }
.contact-field > label { display:block; margin-bottom:8px; font-weight:bold; }
.contact-field .wpcf7-form-control-wrap { margin:8px 0 0; }
.contact-form input:not([type=checkbox]):not([type=hidden]),.contact-form select,.contact-form textarea { box-sizing:border-box; display:block; width:100%; max-width:100%; min-width:0; min-height:48px; padding:10px 12px; border:1px solid #74786f; border-radius:3px; background:#fff; color:#393831; font:16px/1.6 var(--sans,sans-serif); }
.contact-form textarea { resize:vertical; }
.contact-help { margin:6px 0 0; font-size:14px; color:#53574e; }
.contact-form [aria-invalid=true] { border:2px solid #a32525 !important; }
.contact-consent { margin-block:28px; }
.contact-consent label { display:block; }
.contact-consent input { width:22px; height:22px; vertical-align:middle; margin:0 8px 0 0; }
.contact-submit { display:block; max-width:100%; min-height:52px; margin:32px auto 0; padding:14px 24px; border:0; border-radius:3px; background:#64794e; color:#fff; font:700 16px/1.6 var(--sans,sans-serif); cursor:pointer; }
.contact-submit:hover { background:#52653e; }
.contact-submit:disabled { cursor:wait; opacity:.75; }
.contact-form :is(input,select,textarea,button):focus-visible { outline:3px solid #49536f; outline-offset:3px; }
.contact-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.contact-page p,.contact-page label { overflow-wrap:anywhere; }
@media(max-width:700px) {
 .contact-page { padding-block:28px 32px; }
 .contact-page-heading { padding-bottom:28px; }
 .contact-page-heading::before { width:104px; height:78px; }
 .contact-page h1 { font-size:23px; }
 .contact-notice { padding:18px 16px; }
 .contact-page h2 { font-size:20px; }
 .contact-submit { width:100%; padding-inline:12px; }
}
/* CF7 supplies the form and field/error elements. */
.wpcf7 { max-width:800px; margin-inline:auto; }
.wpcf7-form-control-wrap { display:block; }
.wpcf7-not-valid-tip { color:#922020; font-size:15px; margin-block:8px; }
.wpcf7 form .wpcf7-response-output { padding:18px; margin:28px 0; overflow-wrap:anywhere; }
.wpcf7-response-output:focus { outline:3px solid #49536f; outline-offset:3px; }
.wpcf7 .contact-consent .wpcf7-list-item { margin:0; }
.contact-form input.contact-submit[type=submit] { width:auto; padding:14px 24px; border:0; background:#64794e; color:#fff; cursor:pointer; font-weight:bold; }
@media(max-width:700px) { .contact-form input.contact-submit[type=submit] { width:100%; } }
.contact-editor-content { line-height:1.9; }
.contact-editor-content h2 { margin-top:32px; }

/* Contact presentation only. Privacy keeps its existing typography and spacing. */
.contact-inquiry { padding-block:24px 40px; }
.contact-inquiry .contact-page-heading { padding-bottom:20px; }
.contact-inquiry .contact-page-heading::before { width:96px; height:72px; }
.contact-introduction,.contact-test-notice { max-width:800px; margin-inline:auto; }
.contact-introduction { margin-bottom:20px; }
.contact-introduction p { margin:0 0 8px; }
.contact-telephone { display:flex; flex-wrap:wrap; align-items:center; column-gap:8px; }
.contact-telephone a { display:inline-flex; align-items:center; min-height:44px; font-size:22px; font-weight:bold; color:#465b34; white-space:nowrap; }
.contact-test-notice { padding:12px 16px; margin-bottom:20px; font-size:15px; line-height:1.7; }
.contact-test-notice p { margin:0; }
.contact-test-notice summary { width:fit-content; min-height:44px; padding-block:9px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.contact-test-notice details p { margin-top:8px; }
.contact-use-note { margin-block:0 12px; font-size:15px; line-height:1.8; }
.contact-inquiry .contact-required-help { margin:0 0 20px; font-size:15px; line-height:1.7; }
.contact-inquiry .contact-field { margin-block:20px; }
.contact-label-text { font-size:16px; font-weight:bold; }
.contact-label-note { display:inline-block; margin-left:8px; padding:1px 8px; border-radius:2px; font-size:13px; font-weight:bold; line-height:1.7; vertical-align:middle; }
.contact-label-note--required { background:#52653e; color:#fff; }
.contact-label-note--optional { background:#e9ede3; color:#46523b; }
.contact-inquiry .contact-consent label { line-height:1.8; padding-block:4px; min-height:44px; }
.contact-inquiry .contact-consent input { flex-shrink:0; }
.contact-new-tab-note { display:inline-block; font-size:14px; }
.contact-inquiry .contact-form a[href*="/privacy/"] { display:inline-block; min-height:44px; padding-block:8px; }
.contact-inquiry .contact-submit { margin-top:24px; }
@media(max-width:700px) {
 .contact-inquiry { padding-block:16px 32px; }
 .contact-inquiry .contact-page-heading { padding-bottom:12px; }
 .contact-inquiry .contact-page-heading::before { width:80px; height:60px; }
 .contact-introduction { margin-bottom:16px; }
 .contact-telephone a { font-size:21px; }
 .contact-test-notice { padding:10px 12px; margin-bottom:16px; }
}
