/* hub/search · page sheet on top of kit/rf.css
   A search bar under the count, the filter chips in a column beside the
   results, each result a white card that the whole of is the link. */
.rf .sr-hero { padding-bottom: clamp(48px, 5vw, 80px); }
.rf .sr-h { margin-top: 16px; }
.rf .sr-bar {
  display: flex; align-items: center; gap: 12px; max-width: 720px; margin: 36px auto 0; padding: 8px 8px 8px 22px;
  border-radius: 99px; background: #fff; box-shadow: 0 0 0 1px #d5dbea, 0 24px 48px -32px rgba(10, 30, 87, .4);
  transition: box-shadow .25s;
}
.rf .sr-bar:focus-within { box-shadow: 0 0 0 2px var(--rf-navy), 0 24px 48px -32px rgba(10, 30, 87, .4); }
.rf .sr-bar-ic { width: 24px; height: 24px; flex: none; color: var(--rf-ink-2); }
.rf .sr-bar input {
  flex: 1; min-width: 0; height: 52px; border: 0; outline: 0; background: transparent;
  font: inherit; font-size: 19px; color: var(--rf-ink);
}
.rf .sr-bar .btn { margin: 0; height: 52px; padding-inline: 28px; font-size: 17px; font-weight: 600; flex: none; }

.rf .sr-sec { padding-top: clamp(48px, 5vw, 80px); }
.rf .sr-grid { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: clamp(28px, 4vw, 72px); align-items: start; }
.rf .sr-filters { position: sticky; top: calc(var(--ph-nav-h, 44px) + 32px); display: grid; gap: 8px; justify-items: start; }
.rf .sr-filters .tag {
  display: inline-flex; align-items: center; height: 44px; margin: 0; padding: 0 20px; border-radius: 99px;
  background: #fff; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none;
  color: var(--rf-navy); font-size: 16px; font-weight: 600; letter-spacing: 0;
}
.rf .sr-filters .tag.is-on { background: var(--rf-navy); color: #fff; }
.rf .sr-filters button.tag { gap: 10px; border: 0; font-family: inherit; cursor: pointer; transition: background .25s, color .25s; }
.rf .sr-filters button.tag:hover:not(.is-on) { background: var(--rf-soft); }
.rf .sr-filters button.tag:focus-visible { outline: 2px solid var(--rf-navy); outline-offset: 3px; }
.rf .sr-filters button.tag[hidden] { display: none; }
.rf .sr-filters .tag i { font-style: normal; font-size: 15px; font-weight: 500; opacity: .78; font-variant-numeric: tabular-nums; }
/* The count on a chosen chip stays readable on navy (2026-10-09, accessibility check). */
.rf .sr-filters .tag.is-on i { color: rgba(255, 255, 255, .85); opacity: 1; }
.rf .sr-filters .tag i:empty { display: none; }
.rf .sr-list[hidden] { display: none; }
.rf .sr-res mark { background: rgba(32, 58, 133, .12); color: inherit; border-radius: 4px; padding: 0 2px; }
.rf .sr-res.is-guide mark { background: rgba(255, 255, 255, .22); }
.rf .sr-bar input::-webkit-search-cancel-button { cursor: pointer; }

.rf .sr-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.rf .sr-res {
  position: relative; display: grid; gap: 10px; padding: clamp(24px, 2.4vw, 34px) clamp(24px, 2.6vw, 40px) clamp(24px, 2.4vw, 34px);
  padding-right: clamp(72px, 7vw, 110px); border-radius: var(--rf-r-md); background: #fff;
  transition: translate .5s var(--rf-ease), box-shadow .5s var(--rf-ease);
}
.rf .sr-res:hover { translate: 0 -3px; box-shadow: 0 22px 44px -26px rgba(10, 30, 87, .45); }
.rf .sr-meta { margin: 0; font-size: 15px; line-height: 1.4; font-weight: 600; color: var(--rf-accent); white-space: pre-wrap; }
.rf .sr-t { margin: 0; font-size: clamp(21px, 1.7vw, 26px); line-height: 1.22; font-weight: 600; letter-spacing: -0.01em; color: var(--rf-ink); }
.rf .sr-d { margin: 0; font-size: 17px; line-height: 1.6; color: var(--rf-ink-2); max-width: 70ch; }
.rf .sr-res .card-more { position: absolute; inset: 0; margin: 0; padding: 0; border-radius: inherit; }
.rf .sr-res .card-more::after {
  content: "\2192"; position: absolute; right: clamp(24px, 2.6vw, 40px); top: 50%; translate: 0 -50%; margin: 0;
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: var(--rf-sunk); color: var(--rf-navy); font-size: 18px; font-weight: 600;
  transition: background .3s, color .3s;
}
.rf .sr-res:hover .card-more::after { background: var(--rf-navy); color: #fff; transform: none; }
.rf .sr-res.is-guide { background: var(--rf-navy); }
.rf .sr-res.is-guide .sr-t { color: #fff; }
.rf .sr-res.is-guide .sr-d { color: rgba(255, 255, 255, .78); }
.rf .sr-res.is-guide .sr-meta { color: #203a85; }
.rf .sr-res.is-guide .card-more::after { background: #fff; }

@media (max-width: 1023px) {
  .rf .sr-grid { grid-template-columns: minmax(0, 1fr); }
  .rf .sr-filters { position: static; display: flex; flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .rf .sr-bar { padding-left: 16px; }
  .rf .sr-bar .btn { padding-inline: 20px; }
  .rf .sr-res { padding-right: 24px; padding-bottom: 80px; }
  .rf .sr-res .card-more::after { top: auto; bottom: 22px; right: 22px; translate: none; }
}
