/* Homepage "Find a licensed pro near you" section: finder form and link lists, in the design's tokens. */
.cp-near { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 16px; align-items: end; }
.cp-near label { display: flex; flex-direction: column; gap: 6px; font: 500 13px/1.3 var(--font-sans); color: var(--muted); }
.cp-near select, .cp-near input { font: 400 16px/1.4 var(--font-sans); color: var(--ink); padding: 12px 14px; border: 1px solid var(--hairline); border-radius: var(--radius); background: #fff; }
.cp-near input[aria-invalid="true"] { border-color: var(--error); }
.cp-near .cp-btn { display: inline-flex; align-items: center; justify-content: center; padding: 13px 20px; border-radius: var(--radius); background: var(--olive); color: var(--on-dark); font: 600 15px/1 var(--font-sans); border: 0; cursor: pointer; white-space: nowrap; }
.cp-near .cp-btn:hover { background: var(--olive-hover); }
.cp-near-msg { grid-column: 1 / -1; margin: 0; font-size: 14px; color: var(--error); min-height: 0; }
.cp-home-links, .cp-services { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; }
.cp-home-links a, .cp-services a { font: 400 16px/24px var(--font-sans); color: var(--ink); }
.gcp-m .cp-near { grid-template-columns: 1fr; }
.gcp-m .cp-home-links, .gcp-m .cp-services { grid-template-columns: 1fr; }

.cp-page-faq h3 { margin: 0 0 8px; }
.cp-page-faq p { margin: 0; }
