/* Finder-only refinement of the approved navy and coral editorial system. */
.tfr-page--find_broker #find-broker-form-section > form > .tfr-finder-workspace {
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .75fr);
    gap: clamp(28px, 5vw, 70px);
    align-items: start;
    padding-block: clamp(10px, 2vw, 28px);
}
.tfr-page--find_broker .tfr-finder-intro { align-items: flex-start; text-align: start; }
.tfr-page--find_broker .tfr-finder-intro > div { align-items: flex-start; text-align: start; justify-content: flex-start; }
.tfr-page--find_broker #find-broker-form-section h1 { line-height: 1.14; letter-spacing: -.035em; text-wrap: balance; }
.tfr-page--find_broker .tfr-finder-intro p { color: #536178; max-width: 62ch; }
.tfr-page--find_broker .tfr-finder-highlight-icon { width: 24px; height: 24px; background: #e8f5ef; }
.tfr-page--find_broker .tfr-finder-highlight-icon svg { display: block; width: 17px; height: 17px; }
.tfr-page--find_broker .tfr-finder-highlight-icon svg path { fill: #14795a; }
.tfr-page--find_broker [data-find-broker-steps] { border-block: 1px solid #e0e5ed; padding-block: 16px; gap: 8px; }
.tfr-page--find_broker [data-step-index] { min-height: 44px; justify-content: center; border-radius: 6px; position:relative; }
.tfr-page--find_broker [data-step-index]:not(:last-child)::after { content:''; position:absolute; height:1px; background:#d5deeb; left:calc(50% + 21px); right:calc(-50% + 21px); top:50%; z-index:0; }
.tfr-page--find_broker .step-icon-wrapper { width: 34px; height: 34px; border: 1px solid #b9c5d7; background: #fff; color: #536178; transition: background-color 180ms, border-color 180ms, color 180ms; position:relative; z-index:1; }
.tfr-page--find_broker .step-icon-wrapper--active { background: #172641; border-color: #172641; color: #fff; box-shadow: none; }
.tfr-page--find_broker .step-icon-wrapper--completed:not(.step-icon-wrapper--active) { background: #e9effa; color: #172641; border-color: #a7b8d1; }
.tfr-page--find_broker .step-icon-wrapper--completed svg { display: block; flex: none; }
.tfr-page--find_broker .step-icon-wrapper--completed svg path { fill: none !important; stroke: currentColor !important; }
.tfr-page--find_broker .step-icon { color: inherit; font-size: 13px; font-weight: 650; position:static;clip-path:none;width:auto;height:auto;margin:0;overflow:visible; }
.tfr-page--find_broker #find-broker-step-detail { background:#f8faff; border:1px solid #e0e7f1; border-radius:12px; padding:clamp(18px, 3vw, 28px); }
.tfr-page--find_broker #find-broker-step-detail > div:first-child { text-align: start; gap: 8px; }
.tfr-page--find_broker #find-broker-step-detail > div:first-child > p:first-child { color: #a63d28; letter-spacing: .12em; font-size: 11px; }
.tfr-page--find_broker #find-broker-step-title { color: #172641; font-size: clamp(23px, 2.3vw, 30px); letter-spacing: -.025em; line-height: 1.3; }
.tfr-page--find_broker #find-broker-step-description { color: #536178; font-size: 15px; line-height: 1.7; }
.tfr-page--find_broker #find-broker-step-content { margin-top: 8px; }
.tfr-page--find_broker .search-container-find-broker { border: 1px solid #b9c5d7; border-radius: 7px; background: #fff; min-height: 48px; transition: border-color 180ms, background-color 180ms; }
.tfr-page--find_broker .search-container-find-broker:focus-within { border-color: #172641; background: #f5f7fb; }
.tfr-page--find_broker .search-container-find-broker input { color: #172641; font-size: 15px; min-width: 0; box-shadow: none; }
.tfr-page--find_broker .search-container-find-broker .find-broker-option-search-input {
    appearance: none;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 10px !important;
}
.tfr-page--find_broker .search-container-find-broker input::placeholder { color: #637087; opacity: 1; }
.tfr-page--find_broker .find-broker-country-grid { gap: 8px; }
.tfr-page--find_broker .find-broker-option-list { gap: 10px; }
.tfr-page--find_broker :is(.find-broker-country-card, .find-broker-option-card) { min-height: 48px; border: 1px solid #c5cfdd; background: #fff; color: #172641; text-align: start; transition: border-color 180ms, background-color 180ms; }
.tfr-page--find_broker :is(.find-broker-country-card__name, .find-broker-option-card__label) { font-size: 14px; line-height: 1.45; color: inherit; overflow-wrap: anywhere; }
.tfr-page--find_broker :is(.find-broker-country-card, .find-broker-option-card).step-item-active { background: #e9effa; border-color: #304b71; color: #172641; }
.tfr-page--find_broker :is(button, a, [tabindex]):focus-visible { outline: 2px solid #a63d28; outline-offset: 3px; }
.tfr-page--find_broker .find-broker-actions { width: 100%; border-top: 1px solid #e0e5ed; padding-top: 20px; gap: 12px; }
.tfr-page--find_broker .find-broker-actions__secondary { gap: 12px; }
.tfr-page--find_broker :is(.find-broker-actions__back, .find-broker-actions__skip) { min-height: 44px; color: #354967; font-size: 14px; }
.tfr-page--find_broker .find-broker-actions__skip { text-decoration:underline; text-decoration-color:#b9c5d7; text-underline-offset:4px; }
.tfr-page--find_broker .find-broker-actions__continue { min-height: 48px; background: #172641; color: #fff; padding: 12px 24px; transition: background-color 180ms; }
.tfr-page--find_broker #find-broker-step-banners { padding: 24px 12px; margin-top: 26px; background: #f5f7fb; border-radius: 12px; }
.tfr-page--find_broker #find-broker-step-banners img { display: none; }
.tfr-page--find_broker .tfr-finder-art { width: 100%; height: auto; display: block; }
.tfr-page--find_broker .tfr-finder-results-section { border-top: 1px solid #e0e5ed; padding-top: 36px; margin-top: 32px; align-items: stretch; scroll-margin-top:110px; }
.tfr-page--find_broker .tfr-finder-results-section > div:first-child { align-items: flex-start; text-align: start; }
.tfr-page--find_broker .tfr-finder-results-section h3 { font-size: clamp(24px, 2.8vw, 34px); line-height: 1.3; letter-spacing: -.025em; }
.tfr-page--find_broker #find-broker-results { width: 100%; }
.tfr-page--find_broker .tfr-finder-results-status { color:#536178; font-size:14px; margin-top:14px; }
.tfr-page--find_broker .tfr-finder-results-section[aria-busy="true"] #find-broker-results { opacity:.58; transition:opacity 160ms ease-out; }
.tfr-page--find_broker #find-broker-results > section { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
@media (hover: hover) {
    .tfr-page--find_broker :is(.find-broker-country-card, .find-broker-option-card):hover { border-color: #637b9c; background: #f5f7fb; }
    .tfr-page--find_broker .find-broker-actions__continue:hover { background: #304b71; }
}
@media (max-width: 1000px) {
    .tfr-page--find_broker #find-broker-form-section > form > .tfr-finder-workspace { grid-template-columns: minmax(0, 1fr); }
    .tfr-page--find_broker #find-broker-step-banners { display: none; }
    .tfr-page--find_broker #find-broker-results > section { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
    .tfr-page--find_broker [data-find-broker-steps] { gap: 2px; padding-block: 8px; }
    .tfr-page--find_broker .step-icon-wrapper { width: 29px; height: 29px; }
    .tfr-page--find_broker .find-broker-country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tfr-page--find_broker .find-broker-actions { flex-wrap: wrap; }
    .tfr-page--find_broker .find-broker-actions__secondary { width: 100%; justify-content: space-between; }
    .tfr-page--find_broker #find-broker-results > section { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .tfr-page--find_broker :is(.step-icon-wrapper, .search-container-find-broker, .find-broker-country-card, .find-broker-option-card, .find-broker-actions__continue) { transition: none; }
}
