.kf-contact-intro { border-bottom: 1px solid #dce0dc; }
.kf-contact-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 64px; align-items: start; }
.kf-contact-layout > * { min-width: 0; margin: 0; }
.kf-contact-aside h2 { font-size: clamp(1.6rem,2.2vw,2.2rem); }
.kf-contact-aside p { color: #5c635f; }
.kf-contact-aside a { overflow-wrap: anywhere; }
.kf-contact-aside .kf-contact-email { color: #202523; font-weight: 500; }
.kf-estimate-form { font-size: 1rem; }
.kf-form-instruction { margin: 0 0 24px; color: #5c635f; }
.kf-form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 22px; }
.kf-estimate-form label { display: block; font-weight: 500; }
.kf-estimate-form label span { color: #5c635f; font-size: .875rem; font-weight: 400; }
.kf-estimate-form input:not([type="checkbox"]),.kf-estimate-form select,.kf-estimate-form textarea { display: block; width: 100%; margin-top: 8px; border: 1px solid #cbd2cc; border-radius: 0; background: #fff; color: #202523; font: inherit; padding: 12px; min-height: 48px; }
.kf-estimate-form textarea { resize: vertical; }
.kf-estimate-form > label { margin-top: 22px; }
.kf-estimate-form input:focus-visible,.kf-estimate-form textarea:focus-visible,.kf-estimate-form select:focus-visible { outline: 2px solid #596f60; outline-offset: 2px; }
.kf-service-choices { margin: 0; border: 0; padding: 0; }
.kf-service-choices legend { font-weight: 500; margin-bottom: 10px; }
.kf-service-choices label { display: inline-flex; gap: 8px; align-items: center; margin: 0 20px 12px 0; min-height: 32px; font-weight: 400; }
.kf-service-choices input { width: 18px; height: 18px; accent-color: #242e28; }
.kf-field-help { font-size: .875rem; color: #5c635f; margin-top: 8px; }
.kf-upload-list { list-style: none; padding: 0; }
.kf-upload-list li { display: flex; gap: 18px; justify-content: space-between; align-items: center; border-bottom: 1px solid #dce0dc; padding-block: 12px; font-size: .875rem; }
.kf-upload-list span { overflow-wrap: anywhere; min-width: 0; }
.kf-upload-list button { border: 0; background: none; font: inherit; text-decoration: underline; cursor: pointer; min-height: 44px; }
.kf-form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.kf-intake-privacy { font-size: .875rem; color: #5c635f; border-block: 1px solid #dce0dc; padding-block: 16px; margin-block: 22px; }
.kf-intake-privacy summary { cursor: pointer; color: #202523; }
.kf-estimate-form button[type="submit"] { border: 0; cursor: pointer; }
.kf-estimate-form :disabled { opacity: .65; cursor: default!important; }
.kf-form-result { color: #24462e; font-size: 1rem; line-height: 1.6; }
.kf-form-result.is-error { color: #9e3027; }
@media(max-width:800px) { .kf-contact-layout { grid-template-columns: 1fr; gap: 32px; } }
@media(max-width:600px) { .kf-form-two { grid-template-columns: 1fr; } }
