.search-tools { display: flex; align-items: center; gap: .75rem; flex: 0 0 auto; }
.site-header .search-access { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .6rem; border-radius: var(--radius-control); color: inherit; text-decoration: none; }
.search-tools .culture-toggle { width: 104px; white-space: nowrap; }
.search-tools .culture-toggle > span[aria-hidden='true'] { min-width: 2.8em; text-align: center; }
.search-icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; flex: 0 0 auto; }
.search-page { padding-block: clamp(2rem, 4vw, 4rem) clamp(4rem, 7vw, 7rem); }
.search-column { max-width: 57rem; }
.search-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; padding: 0; margin: 0; list-style: none; font-size: .8125rem; color: var(--muted); }
.search-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.search-title { margin-top: 1.25rem; font-size: clamp(2.75rem, 4.6vw, 4.5rem); line-height: 1.08; letter-spacing: -.05em; }
.search-intro { max-width: 45rem; color: var(--muted); margin-top: 1.25rem; }
.search-form { margin-top: 2.25rem; }
.search-form label { display: block; font-size: .9375rem; font-weight: var(--nasah-weight-navigation); margin-bottom: .6rem; }
.search-form-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; }
.search-form input { width: 100%; min-width: 0; min-height: 56px; padding: .8rem 1rem; border: 1px solid var(--muted); border-radius: var(--radius-control); background: var(--paper); font-size: 1rem; }
.search-form .button { min-height: 56px; justify-content: center; min-width: 8rem; }
.search-help { margin-top: .65rem; color: var(--muted); font-size: .8125rem; }
.search-content { min-height: 22rem; padding-top: 3rem; }
.search-result-heading { font-size: 1.125rem; line-height: 1.5; letter-spacing: -.015em; font-weight: var(--nasah-weight-navigation); text-wrap: wrap; }
.search-results { list-style: none; padding: 0; margin: 1.25rem 0 0; }
.search-result { padding-block: 1.75rem; border-top: 1px solid var(--line); }
.search-result:last-child { border-bottom: 1px solid var(--line); }
.search-result h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.35; letter-spacing: -.025em; }
.search-result h3 a { display: inline-flex; align-items: center; min-height: 44px; color: var(--action); text-decoration: none; }
.search-result h3 a:hover { text-decoration: underline; }
.search-result-meta { display: flex; flex-wrap: wrap; gap: .25rem .65rem; margin-top: .35rem; font-size: .75rem; color: var(--muted); }
.search-result-path { overflow-wrap: anywhere; }
.search-result-snippet { margin-top: .75rem; max-width: 48rem; font-size: 1rem; line-height: 1.7; }
.search-pager { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem 2rem; padding-top: 2rem; }
.search-pager .text-link { gap: .6rem; }
.search-pager-unavailable { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; color: var(--muted); font-size: .875rem; }
.search-state { max-width: 43rem; border-top: 1px solid var(--line); padding-top: 2rem; }
.search-state h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.25; letter-spacing: -.03em; text-wrap: wrap; }
.search-state p { margin-top: 1rem; color: var(--muted); }
.search-state .text-link { margin-top: 1.25rem; }
@media (min-width: 960px) {
  .has-editorial-navigation .header-inner > .primary-nav { width: auto; flex: 1 1 28rem; justify-content: flex-end; }
}
@media (max-width: 959px) {
  .header-inner > .search-tools { width: 100%; justify-content: flex-end; margin-top: .5rem; }
}
@media (max-width: 719px) {
  .search-tools .culture-selector { padding-block: 0; border-top: 0; }
  .search-content { padding-top: 2.5rem; min-height: 18rem; }
  .search-result { padding-block: 1.5rem; }
  .search-title { font-size: clamp(2.4rem, 9vw, 3.25rem); }
}
@media (max-width: 479px) {
  .search-form-row { grid-template-columns: minmax(0, 1fr); }
  .search-form .button { width: 100%; }
  .search-pager { gap: .5rem 1rem; }
}
