/* Contact page; shared internal hero is supplied by header.php. */
.blcs-contact-page h2 { margin-bottom: 1.25rem; color: #202b25; font-size: clamp(2.3rem, 3.5vw, 3.25rem); line-height: 1.1; }
.blcs-contact-eyebrow { margin-bottom: 1rem; color: #087a16; font-size: .75rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.blcs-contact-intro { max-width: 510px; color: #47534c; line-height: 1.85; }
.blcs-contact-details { display: grid; gap: 1.5rem; margin-block: 2rem; font-style: normal; }
.blcs-contact-details > div { display: flex; align-items: baseline; gap: 1rem; }
.blcs-contact-details > div > i { width: 18px; flex-shrink: 0; color: #087a16; }
.blcs-contact-details span { display: block; margin-bottom: .4rem; color: #637166; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.blcs-contact-details a { color: #17452c; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.blcs-contact-details p { margin-bottom: .6rem; color: #47534c; line-height: 1.7; }
.blcs-contact-details .blcs-contact-directions { display: inline-flex; align-items: center; gap: .65rem; font-size: .8rem; }
.blcs-contact-details a:hover { color: #087a16; text-decoration: underline; text-underline-offset: 4px; }
.blcs-contact-area { max-width: 510px; padding-top: 1.75rem; border-top: 1px solid #dde5dc; }
.blcs-contact-area h3 { margin-bottom: .85rem; color: #202b25; font-size: 1.8rem; }
.blcs-contact-area p { color: #47534c; font-size: .9rem; line-height: 1.8; }
.blcs-contact-extra { margin-top: 1.75rem; line-height: 1.8; }
.blcs-contact-form { padding: clamp(1.5rem, 3.5vw, 3rem); border: 1px solid #dde5dc; border-top: 4px solid #087a16; background: #f3f7f2; }
.blcs-contact-form h2 { font-size: clamp(2rem, 3vw, 2.75rem); }
.blcs-contact-form > p { margin-bottom: 1.75rem; color: #47534c; line-height: 1.8; }
.blcs-contact-form .gform_wrapper { margin: 0; }
.blcs-contact-form .gfield_label, .blcs-contact-form .gform-field-label { color: #202b25; font-size: .875rem; }
.blcs-contact-form input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=image]), .blcs-contact-form select, .blcs-contact-form textarea { width: 100%; max-width: 100%; min-height: 48px; padding: .8rem .9rem; border: 1px solid #cbd6c8; border-radius: 2px; background-color: #fff; color: #202b25; font: inherit; box-shadow: none; }
.blcs-contact-form textarea { min-height: 150px; }
.blcs-contact-form .gform_footer { margin-top: 1.5rem; padding: 0; }
.blcs-contact-form .gform_button { min-height: 48px; padding: .85rem 1.4rem; border: 1px solid #087a16; border-radius: .25rem; background: #087a16; color: #fff; font-family: inherit; font-size: .875rem; font-weight: 600; cursor: pointer; }
.blcs-contact-form .gform_button:hover { background: #055a10; border-color: #055a10; }
.blcs-contact-form .gform_confirmation_message { padding: 1.25rem; border-left: 3px solid #087a16; background: #fff; color: #17452c; line-height: 1.75; }
.blcs-contact-page a:focus-visible, .blcs-contact-form input:focus-visible, .blcs-contact-form select:focus-visible, .blcs-contact-form textarea:focus-visible, .blcs-contact-form button:focus-visible { outline: 2px solid #007a96; outline-offset: 3px; }
.blcs-contact-admin { padding: 1rem; border: 1px dashed #8fa585; font-size: .85rem; }
