﻿.contact-page { background: #f6f8f6; }
.contact-page .contact-intro { padding: 24px 0 32px; background: #eef5ef; border-bottom: 1px solid #e4ece6; }
.contact-page .contact-breadcrumb { display: flex; gap: 12px; margin-bottom: 27px; font-size: 11px; color: #8a978d; }
.contact-page .contact-breadcrumb a { color: #698571; text-decoration: none; }
.contact-page .contact-eyebrow { display: block; margin-bottom: 9px; color: #64816e; font-size: 10px; font-weight: 500; letter-spacing: 1.5px; text-transform: uppercase; }
.contact-page .contact-intro h1 { margin: 0 0 12px; color: #284532; font-size: 34px; font-weight: 500; letter-spacing: -.6px; }
.contact-page .contact-intro p { max-width: 620px; margin: 0; color: #7c8b81; font-size: 13px; line-height: 1.8; }
.contact-page .contact-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 30px; align-items: start; padding-top: 32px; padding-bottom: 48px; }
.contact-page .contact-layout::before,
.contact-page .contact-layout::after { display: none; }
.contact-page .contact-form-card { min-width: 0; padding: 30px; border: 1px solid #dfe8e2; border-radius: 10px; background: #fff; }
.contact-page .contact-form-card > h2 { margin: 0 0 10px; color: #344f3c; font-size: 23px; font-weight: 500; }
.contact-page .contact-form-lead { margin: 0 0 25px; color: #8a968d; font-size: 12px; line-height: 1.8; }
.contact-page .contact-property { display: flex; align-items: center; gap: 15px; margin-bottom: 28px; padding: 12px; border: 1px solid #dfe9e2; border-radius: 7px; background: #f6faf7; color: #3d5b46; text-decoration: none; }
.contact-page .contact-property img { display: block; width: 100px; height: 94px; flex-shrink: 0; border-radius: 5px; object-fit: cover; }
.contact-page .contact-property > div { flex: 1; min-width: 0; }
.contact-page .contact-property > div > span { display: block; margin-bottom: 6px; color: #86a08c; font-size: 9px; }
.contact-page .contact-property h3 { margin: 0 0 5px; color: #3e5d47; font-size: 14px; font-weight: 500; }
.contact-page .contact-property p { margin: 0 0 6px; color: #8b998f; font-size: 10px; line-height: 1.7; }
.contact-page .contact-property strong { color: #00852d; font-size: 13px; font-weight: 500; }
.contact-page .contact-property > .fa { margin-right: 4px; color: #729b7f; font-size: 11px; }
.contact-page .contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 20px; }
.contact-page .contact-field { min-width: 0; }
.contact-page .contact-field label { display: block; margin-bottom: 8px; color: #526b5a; font-size: 11px; font-weight: 500; }
.contact-page .contact-field label span { color: #7b9b83; }
.contact-page .contact-field .form-control { width: 100%; height: 46px; padding: 10px 12px; border: 1px solid #dce5de; border-radius: 6px; background: #fff; color: #435f4c; font-size: 12px; box-shadow: none; }
.contact-page .contact-field .form-control::placeholder { color: #a0aaa3; }
.contact-page .contact-field .form-control:focus { border-color: #00852d; outline: 0; box-shadow: 0 0 0 3px rgba(0,133,45,.08); }
.contact-page .contact-city-state { display: grid; grid-template-columns: 1fr 95px; gap: 12px; min-width: 0; }
.contact-page .contact-message { grid-column: 1/-1; }
.contact-page .contact-field textarea.form-control { height: auto; min-height: 145px; resize: vertical; line-height: 1.8; }
.contact-page .contact-message small { display: block; margin-top: 7px; color: #a1aaa4; font-size: 10px; }
.contact-page .contact-captcha { max-width: 100%; overflow-x: auto; margin-top: 24px; }
.contact-page .contact-form-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 22px; }
.contact-page .contact-form-actions > span { color: #97a298; font-size: 10px; }
.contact-page .contact-form-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 46px; padding: 12px 21px; border: 0; border-radius: 6px; background: #00852d; color: #fff; font-family: inherit; font-size: 12px; font-weight: 500; cursor: pointer; }
.contact-page .contact-form-actions button:hover { background: #006824; }
.contact-page .contact-form-actions button:disabled { opacity: .65; cursor: wait; }
.contact-page .contact-help { padding: 26px 24px; border: 1px solid #dfe8e2; border-radius: 10px; background: #fff; }
.contact-page .contact-help-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 20px; border-radius: 9px; background: #edf5ef; color: #79a186; font-size: 21px; }
.contact-page .contact-help > h2 { margin: 0 0 12px; color: #3a5743; font-size: 21px; font-weight: 500; line-height: 1.3; }
.contact-page .contact-help > p { margin: 0 0 23px; color: #8a978e; font-size: 12px; line-height: 1.8; }
.contact-page .contact-channel { margin-top: 21px; padding-top: 20px; border-top: 1px solid #edf1ed; }
.contact-page .contact-channel h3 { margin: 0 0 12px; color: #5f7867; font-size: 11px; font-weight: 500; }
.contact-page .contact-channel a { display: flex; align-items: flex-start; gap: 9px; margin-top: 10px; color: #7b9282; font-size: 12px; line-height: 1.7; text-decoration: none; overflow-wrap: anywhere; }
.contact-page .contact-channel a > .fa { margin-top: 4px; color: #91ad99; flex-shrink: 0; }
.contact-page .contact-channel address,
.contact-page .contact-channel p { margin: 0; color: #89998d; font-size: 12px; line-height: 1.9; }
.contact-page .contact-channel a.contact-directions { color: #00852d; font-size: 11px; }
.contact-page .contact-signature { margin: 25px 0 0; color: #98aa9d; font-size: 20px; line-height: 1.45; font-weight: 300; }
.contact-page .contact-signature strong { color: #6f8e79; font-weight: 400; }
.contact-page .contact-feedback,
.contact-page .contact-reference-note { margin-bottom: 22px; padding: 15px; border: 1px solid #e5cfc8; border-radius: 6px; background: #fff5f2; color: #996957; font-size: 12px; line-height: 1.8; }
.contact-page .contact-feedback.is-success { border-color: #c9e2d0; background: #eef8f1; color: #3d7a50; }
.contact-page [hidden] { display: none !important; }
.contact-page a:focus-visible,
.contact-page button:focus-visible { outline: 3px solid #87bb94; outline-offset: 3px; }
body.brand-green .contact-page + #footer.varoni-footer { margin-top: 0; }
@media(max-width:991px) {
    .contact-page .contact-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
    .contact-page .contact-signature { display: none; }
}
@media(max-width:575px) {
    .contact-page .contact-intro { padding: 20px 0 26px; }
    .contact-page .contact-intro h1 { font-size: 29px; }
    .contact-page .contact-intro p { font-size: 12px; }
    .contact-page .contact-layout { padding-top: 20px; }
    .contact-page .contact-form-card { padding: 23px 20px; }
    .contact-page .contact-form-card > h2 { font-size: 21px; }
    .contact-page .contact-property { gap: 10px; padding: 10px; }
    .contact-page .contact-property img { width: 72px; height: 92px; }
    .contact-page .contact-property h3 { font-size: 12px; }
    .contact-page .contact-property > .fa { display: none; }
    .contact-page .contact-fields { grid-template-columns: minmax(0,1fr); gap: 18px; }
    .contact-page .contact-city-state { grid-template-columns: 1fr 100px; }
    .contact-page .contact-form-actions { align-items: stretch; flex-direction: column; }
    .contact-page .contact-form-actions button { width: 100%; }
}
