.visa-finder-page { letter-spacing: 0; }
.finder-heading { max-width: 900px; padding-block: 2rem; }
.finder-heading h1 { font-size: 2.5rem; line-height: 1.15; letter-spacing: 0; margin-block: 1rem; overflow-wrap: anywhere; }
.finder-heading p { line-height: 1.7; max-width: 680px; }
.finder-heading .resource-back { margin-bottom: 1.5rem; }
.finder-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); border-block: 1px solid #d5dce0; }
.finder-inputs, .finder-results { min-width: 0; padding: 1.75rem; }
.finder-inputs { container-type: inline-size; background: #f3f5f5; }
.finder-results { background: #fff; border-inline-start: 1px solid #d5dce0; scroll-margin-top: 100px; }
.finder-workspace h2 { font-size: 1.5rem; line-height: 1.3; letter-spacing: 0; margin: 0; overflow-wrap: anywhere; }
.finder-input-heading { display: flex; align-items: center; justify-content: space-between; min-height: 44px; margin-bottom: 1.5rem; gap: 1rem; }
.finder-results-heading { display: flex; align-items: center; min-height: 44px; border-inline-start: 3px solid var(--accent); padding-inline-start: 1rem; margin-bottom: 1.5rem; }
.visa-finder-page #finder-reset { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid #c5cece; border-radius: 6px; background: #fff; color: #354b4b; box-shadow: none; line-height: 1; }
.visa-finder-page #finder-reset:hover { background: #e8eeee; border-color: #8a9d9d; box-shadow: none; }
.visa-finder-page #finder-reset svg { display: block; flex: 0 0 20px; width: 20px; height: 20px; }
.visa-finder-page [hidden] { display: none !important; }
#visa-finder-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
#visa-finder-form > div { display: flex; flex-direction: column; justify-content: end; min-width: 0; }
#visa-finder-form label { display: block; font-size: .875rem; font-weight: 600; line-height: 1.5; margin-bottom: .5rem; }
#visa-finder-form select { width: 100%; min-width: 0; min-height: 48px; padding: .5rem; border: 1px solid #a1b0b0; border-radius: 4px; background: white; color: inherit; font: inherit; font-size: .875rem; cursor: pointer; }
#visa-finder-form select:hover { border-color: #617e7b; }
#visa-finder-form #finder-submit { grid-column: 1 / -1; justify-self: start; max-width: 100%; min-height: 48px; text-align: center; overflow-wrap: anywhere; }
.finder-pending { display: flex; align-items: center; justify-content: center; min-height: 140px; margin: 0; color: #4f5c6a; font-size: .875rem; }
.finder-inputs .resource-private { border-top: 1px solid #d5dce0; padding-top: 1rem; margin-block: 1.5rem 0; color: #4f5c6a; font-size: .8125rem; }
.finder-scope { color: #4f5c6a; font-size: .875rem; line-height: 1.7; margin-block: 0 1.5rem; }
.finder-route-list { list-style: none; padding: 0; margin: 0; }
.finder-route-list > li { padding-block: 1.5rem; border-top: 1px solid #d5dce0; }
.finder-route-header { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: start; gap: .875rem; padding: 1.25rem; margin-bottom: 1.25rem; border-inline-start: 4px solid var(--accent); border-radius: 4px; background: #edf5f2; }
.finder-route-list h3 { color: #125447; font-size: 1.65rem; font-weight: 700; letter-spacing: 0; line-height: 1.25; margin: 0; overflow-wrap: anywhere; }
.finder-route-symbol { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; color: #96713b; }
.finder-route-symbol svg { display: block; width: 28px; height: 28px; }
.finder-official-name { font-size: .8125rem; line-height: 1.6; color: #4f5c6a; margin-block: -.25rem 1rem; overflow-wrap: anywhere; }
.finder-official-name strong, .finder-official-name span { display: block; }
.finder-official-name span { text-align: start; }
.finder-route-description { font-size: .9375rem; line-height: 1.7; margin-block: 0 1.25rem; }
.finder-route-list dl { font-size: .9rem; line-height: 1.7; margin: 0; }
.finder-route-list dt { font-weight: 600; margin-top: 1rem; }
.finder-route-list dd { margin: 0; }
.finder-route-links { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.25rem; font-size: .875rem; }
.finder-route-links a, .finder-related a { color: #17615b; text-underline-offset: 3px; overflow-wrap: anywhere; }
.finder-route-links a:hover, .finder-related a:hover { color: #051627; }
.finder-related { margin-top: 1.25rem; font-size: .875rem; line-height: 1.7; }
.finder-related h4 { font: inherit; font-weight: 600; letter-spacing: 0; margin: 0 0 .5rem; }
.finder-related ul { list-style: none; padding: 0; margin: 0; }
.finder-related li + li { margin-top: .5rem; }
.finder-related p { font-size: .8125rem; color: #4f5c6a; margin-block: .5rem 0; }
.finder-notes { border-top: 1px solid #d5dce0; padding-block-start: 1.25rem; padding-inline-start: 1.25rem; margin-block: 0; color: #4f5c6a; line-height: 1.7; font-size: .875rem; }
.finder-notes:empty { display: none; }
.finder-notes li + li { margin-top: .75rem; }
.finder-next { display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; margin-top: 1.75rem; }
.finder-next a { max-width: 100%; overflow-wrap: anywhere; text-align: center; }
@container (min-width: 580px) { #visa-finder-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1200px) {
  .finder-workspace { grid-template-columns: minmax(0, 1fr); }
  .finder-results { border-inline-start: 0; border-top: 1px solid #d5dce0; }
}
@media (max-width: 600px) {
  .finder-workspace { margin-inline: -.75rem; }
  .finder-inputs, .finder-results { padding: 1.5rem .75rem; }
  .finder-route-header { padding: 1rem; gap: .75rem; }
  .finder-route-list h3 { font-size: 1.5rem; }
  .finder-next a { width: 100%; }
}
