.contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); text-align: left; align-items: start; justify-items: stretch; max-width: 88rem; margin: auto; padding-inline: clamp(1.2rem, 4vw, 4rem); scroll-margin-top: 12rem; }
.contact-intro > p:not(.section-label) { margin-top: 1.6rem; max-width: 30rem; }
.contact .contact-intro h2 { font-size: clamp(2.6rem, 4.5vw, 4.7rem); }
.contact-intro .email { display: block; font-size: .95rem; }
.private-note, .form-help { color: var(--muted); font-size: .9rem; }
.private-note { padding-left: .8rem; border-left: 3px solid var(--accent); }
.owner-link { font-size: .95rem; text-underline-offset: .3rem; }
.lead-form { padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid var(--line); border-radius: .5rem; background: var(--white); }
.lead-form h3 { margin: 0 0 .5rem; font: 400 2.1rem/1.1 var(--serif); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; margin-bottom: 1.4rem; }
.full-width { grid-column: 1 / -1; }
.lead-form label { display: flex; flex-direction: column; gap: .4rem; font-size: .95rem; font-weight: 500; }
.lead-form input, .lead-form select, .lead-form textarea { width: 100%; min-width: 0; padding: .7rem .8rem; border: 1px solid #a4a8ac; border-radius: .25rem; background: #fff; color: var(--ink); font: inherit; font-size: 1rem; }
.lead-form textarea { resize: vertical; }
.lead-form :is(input, select, textarea, button):focus-visible, .crm-page a:focus-visible { outline: 3px solid var(--accent-dark); outline-offset: 3px; }
.lead-form button { border: 0; cursor: pointer; font-family: inherit; }
button:disabled { opacity: .65; cursor: wait; }
.form-result { margin: 1rem 0 0; overflow-wrap: anywhere; }
.form-result[data-error="true"] { color: #a22820; }
.form-result[data-error="false"] { color: #24643e; }
.field-error { color: #a22820; font-size: .9rem; font-weight: 400; }
.field-error:empty, #address-status:empty { display: none; }
.address-field { position: relative; min-width: 0; }
.address-field > input { margin-top: .4rem; }
.address-field .form-help { margin: .45rem 0 0; line-height: 1.45; }
.address-options { position: relative; z-index: 2; list-style: none; margin: .25rem 0 0; padding: .25rem; border: 1px solid #a4a8ac; border-radius: .25rem; background: white; max-height: 17rem; overflow-y: auto; }
.address-options li { padding: .75rem; cursor: pointer; overflow-wrap: anywhere; font-size: 1rem; line-height: 1.4; }
.address-options li:hover, .address-options li[aria-selected="true"] { color: white; background: var(--accent-dark); }
.crm-header { padding: 1rem clamp(1rem, 4vw, 3rem); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.crm-main { max-width: 92rem; margin: auto; padding: 2rem clamp(1rem, 4vw, 3rem); }
.crm-title { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.crm-title h1 { font-size: clamp(2.5rem, 5vw, 4rem); margin: 0 0 .7rem; }
.crm-title p { margin: 0; color: var(--muted); }
.crm-layout { display: grid; grid-template-columns: minmax(18rem, .85fr) minmax(0, 1.4fr); gap: 2rem; align-items: start; }
.lead-list { display: grid; gap: .7rem; }
.lead-card { width: 100%; padding: 1rem; border: 1px solid var(--line); background: white; border-radius: .4rem; text-align: left; cursor: pointer; font: inherit; }
.lead-card[aria-pressed="true"] { border-color: var(--accent-dark); box-shadow: inset 4px 0 var(--accent-dark); }
.lead-card strong, .lead-card span { display: block; overflow-wrap: anywhere; }
.lead-card span { color: var(--muted); font-size: .9rem; }
.lead-card .lead-status { color: var(--accent-dark); font-weight: 600; margin-bottom: .25rem; }
.crm-paging { display: flex; justify-content: space-between; margin-top: 1rem; }
.crm-paging button, #refresh-leads { font: inherit; padding: .5rem .8rem; border: 1px solid var(--line); border-radius: .25rem; background: white; cursor: pointer; }
.empty-leads { padding: 2rem; border: 1px dashed #a4a8ac; border-radius: .4rem; color: var(--muted); }
.lead-detail h2 { font: 400 2.2rem/1.1 var(--serif); overflow-wrap: anywhere; }
.lead-detail dl { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .5rem 1rem; margin: 1.5rem 0; }
.lead-detail dt { color: var(--muted); }
.lead-detail dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.lead-detail hr { border: 0; border-top: 1px solid var(--line); margin: 1.5rem 0; }
[hidden] { display: none !important; }
@media (max-width: 900px) { .contact, .crm-layout { grid-template-columns: 1fr; } }
@media (max-width: 500px) { .form-grid { grid-template-columns: 1fr; } .crm-header { align-items: start; flex-direction: column; } .lead-detail dl { grid-template-columns: 1fr; gap: .1rem; } .lead-detail dd { margin-bottom: .65rem; } }
