.finder-main { padding-block: clamp(2.5rem, 6vw, 5rem) 5rem; }
.finder-main .intro { max-width: 48rem; margin-bottom: 2rem; }
.finder-main .intro h1 { max-width: 15ch; margin: .3rem 0 1rem; }
.finder-main .intro p:last-child { max-width: 58ch; font-size: 1.1rem; line-height: 1.6; }
.finder-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.finder-form, .results { border: 1px solid #d8ddd9; border-radius: 1rem; padding: clamp(1.25rem, 3vw, 2rem); background: #fff; box-shadow: 0 8px 28px rgba(24, 47, 34, .05); }
.field { margin: 0 0 1.7rem; padding: 0; border: 0; min-width: 0; }
.field > label, .field > legend { display: block; font-weight: 700; font-size: 1rem; margin-bottom: .65rem; }
.field-hint { margin: -.25rem 0 .85rem; font-size: .9rem; color: #52635a; }
.field textarea, .field select { display: block; box-sizing: border-box; width: 100%; border: 1px solid #9eaaa2; border-radius: .45rem; padding: .8rem; background: #fff; color: #17221b; font: inherit; line-height: 1.45; }
.field textarea { resize: vertical; min-height: 7rem; }
.field textarea:focus-visible, .field select:focus-visible, .finder-form input:focus-visible, .find-button:focus-visible, .example-actions button:focus-visible { outline: 3px solid #377f5a; outline-offset: 2px; }
.topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem .85rem; }
.topic { display: flex; align-items: flex-start; gap: .5rem; line-height: 1.3; cursor: pointer; }
.topic input { margin: .15rem 0 0; flex: none; accent-color: #246b44; }
.radio-row { display: flex; flex-wrap: wrap; gap: .8rem 1.8rem; }
.radio-row label { display: inline-flex; align-items: center; gap: .4rem; cursor: pointer; }
.radio-row input { accent-color: #246b44; }
.find-button { border: 0; border-radius: .45rem; padding: .85rem 1.4rem; color: white; background: #185a39; font: inherit; font-weight: 700; cursor: pointer; }
.find-button:hover { background: #10452b; }
.example-actions { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: .75rem .25rem 0; }
.example-actions button { border: 0; padding: .25rem 0; background: transparent; color: #185a39; font: inherit; font-size: .9rem; text-align: left; text-decoration: underline; cursor: pointer; }
.example-actions button:hover { color: #10452b; }
.results { position: sticky; top: 1.25rem; }
.results[hidden], .results [hidden] { display: none; }
.results h2 { margin: .3rem 0 1.2rem; }
.result-list { padding: 0; margin: 0; list-style: none; counter-reset: result; }
.result-list li { counter-increment: result; border-top: 1px solid #d8ddd9; padding: 1rem 0; }
.result-list h3 { display: flex; gap: .7rem; align-items: baseline; margin: 0 0 .35rem; font-size: 1.12rem; }
.result-list h3::before { content: counter(result, decimal-leading-zero); font-size: .8rem; color: #487258; }
.result-list p { margin: 0; line-height: 1.5; overflow-wrap: anywhere; }
.result-list .resale-note { margin-top: .4rem; color: #52635a; font-size: .85rem; }
#empty-message { border-top: 1px solid #d8ddd9; padding-top: 1rem; }
.future-note { border-top: 1px solid #d8ddd9; margin: 1rem 0 0; padding-top: 1rem; color: #52635a; font-size: .9rem; line-height: 1.5; }
@media (max-width: 800px) { .finder-layout { grid-template-columns: 1fr; } .results { position: static; } }
@media (max-width: 480px) { .finder-main { padding-inline: 1rem; } .topic-grid { grid-template-columns: 1fr; } .finder-form, .results { padding: 1.15rem; } }
