.tpm-finder {
    --tpm-primary: #ffc814;
    --tpm-ink: #1c1e21;
    --tpm-muted: #64676b;
    --tpm-surface: #fffdf7;
    padding: 72px 0;
    background: linear-gradient(135deg, #fff9e8 0%, #ffffff 55%, #fff8db 100%);
}

.tpm-finder * { box-sizing: border-box; }
.tpm-finder__heading { max-width: 720px; margin: 0 auto 30px; text-align: center; }
.tpm-finder__eyebrow, .tpm-estimate__eyebrow { margin: 0 0 8px; color: #a57800; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tpm-finder h2 { margin: 0 0 12px; color: var(--tpm-ink); font-size: clamp(28px, 4vw, 42px); line-height: 1.2; }
.tpm-finder h2 span { color: #bd8c00; font-family: var(--font-handwritten, cursive); font-size: 1.15em; }
.tpm-finder__heading > p:last-child { margin: 0; color: var(--tpm-muted); font-size: 16px; }
.tpm-finder__form { max-width: 1080px; margin: 0 auto; padding: 28px; border: 1px solid rgba(224, 174, 11, .22); border-radius: 14px; background: #fff; box-shadow: 0 12px 35px rgba(44, 37, 9, .08); }
.tpm-finder__fields, .tpm-finder__advanced-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.tpm-finder label { display: grid; gap: 7px; color: #303337; font-size: 14px; font-weight: 700; }
.tpm-finder label span { color: #b42318; }
.tpm-finder input, .tpm-finder select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #d9d9d9; border-radius: 7px; background: #fff; color: #303337; font: inherit; font-weight: 400; }
.tpm-finder input:focus, .tpm-finder select:focus { border-color: #b78a00; outline: 3px solid rgba(255, 200, 20, .24); }
.tpm-finder__advanced { margin-top: 18px; }
.tpm-finder__advanced summary { width: max-content; max-width: 100%; color: #725600; cursor: pointer; font-weight: 700; }
.tpm-finder__advanced-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.tpm-finder__actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; }
.tpm-finder__actions button { min-height: 46px; padding: 12px 22px; border: 0; border-radius: 7px; background: var(--tpm-primary); color: #1c1e21; cursor: pointer; font: inherit; font-weight: 800; transition: background-color .2s ease, transform .2s ease; }
.tpm-finder__actions button:hover { background: #e0ae0b; transform: translateY(-1px); }
.tpm-finder__actions p { margin: 0; color: var(--tpm-muted); font-size: 12px; }
.tpm-results { max-width: 1080px; margin: 40px auto 0; }
.tpm-results__summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 18px; color: var(--tpm-muted); }
.tpm-results__summary p { margin: 0; }
.tpm-results__summary strong { color: var(--tpm-ink); font-size: 16px; }
.tpm-estimate { padding: 26px; border-radius: 12px; background: #252216; color: #fff; box-shadow: 0 12px 28px rgba(0, 0, 0, .16); }
.tpm-estimate.is-unavailable { background: #4a4231; }
.tpm-estimate h3 { margin: 0 0 8px; color: #fff; font-size: clamp(27px, 4vw, 38px); }
.tpm-estimate > p:not(.tpm-estimate__eyebrow) { margin: 0; color: rgba(255,255,255,.84); }
.tpm-estimate small { display: block; margin-top: 15px; color: rgba(255,255,255,.66); line-height: 1.5; }
.tpm-results__heading { margin: 36px 0 18px; }
.tpm-results__heading h3 { margin: 0 0 5px; color: var(--tpm-ink); font-size: 25px; }
.tpm-results__heading p { margin: 0; color: var(--tpm-muted); }
.tpm-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tpm-project-card { overflow: hidden; border: 1px solid #ece7d9; border-radius: 11px; background: #fff; box-shadow: 0 5px 18px rgba(24, 21, 10, .06); }
.tpm-project-card__image { display: block; min-height: 195px; background: #eee5ce; color: var(--tpm-muted); }
.tpm-project-card__image img { width: 100%; height: 220px; object-fit: cover; }
.tpm-project-card__image span { display: grid; height: 195px; place-items: center; font-size: 13px; }
.tpm-project-card__body { padding: 19px; }
.tpm-project-card__score { margin: 0 0 7px; color: #8a6800; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.tpm-project-card h4 { margin: 0 0 9px; font-size: 18px; line-height: 1.4; }
.tpm-project-card h4 a { color: var(--tpm-ink); }
.tpm-project-card__facts, .tpm-project-card__investment { margin: 0 0 10px; color: var(--tpm-muted); font-size: 13px; line-height: 1.55; }
.tpm-project-card__investment strong { color: #26220e; }
.tpm-project-card__link { color: #8a6800; font-size: 14px; font-weight: 800; }
.tpm-results__empty { padding: 28px; border: 1px dashed #c8b787; border-radius: 12px; background: #fffdf7; }
.tpm-results__empty h3 { margin: 0 0 8px; color: var(--tpm-ink); }
.tpm-results__empty p { margin: 0 0 18px; color: var(--tpm-muted); }
.tpm-header-cta { min-height: 42px; padding: 8px 12px; border: 1px solid #e0ae0b; border-radius: 6px; color: #554000; font-size: 12px; font-weight: 800; text-align: center; white-space: nowrap; }
.tpm-header-cta:hover { background: #ffc814; color: #1c1e21; }

@media (max-width: 1180px) { .tpm-finder__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tpm-header-cta { display: none; } }
@media (max-width: 767px) { .tpm-finder { padding: 52px 0; } .tpm-finder__form { padding: 18px; } .tpm-finder__fields, .tpm-finder__advanced-fields, .tpm-project-grid { grid-template-columns: 1fr; } .tpm-finder__actions { align-items: stretch; flex-direction: column; } .tpm-finder__actions button { width: 100%; } .tpm-finder__actions p { text-align: center; } .tpm-estimate { padding: 21px; } }
