.bloom-search {
  --search-ink: #f1eee4;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  width: min(350px, 37vw);
  min-width: 210px;
  padding: .42rem .48rem .42rem .85rem;
  border: 1px solid rgba(200, 219, 147, .22);
  border-radius: 999px;
  background: rgba(9, 28, 22, .62);
  color: var(--search-ink);
  font-family: 'DM Sans', sans-serif;
  transition: border-color 240ms cubic-bezier(.22, 1, .36, 1), background 240ms cubic-bezier(.22, 1, .36, 1), box-shadow 240ms cubic-bezier(.22, 1, .36, 1);
}
.bloom-search:hover { border-color: rgba(200, 219, 147, .56); }
.bloom-search:focus-within {
  border-color: #c8db93;
  background: #10291ff2;
  box-shadow: 0 0 0 4px rgba(200, 219, 147, .1);
}
.bloom-search__icon { width: 1.05rem; height: 1.05rem; flex-shrink: 0; color: #a9b7a8; transition: color 240ms ease; }
.bloom-search:focus-within .bloom-search__icon { color: #c8db93; }
.bloom-search__field {
  flex: 1;
  min-width: 0;
  padding: .3rem 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--search-ink);
  font: inherit;
  font-size: .78rem;
}
.bloom-search__field::placeholder { color: #a9b7a8; opacity: .8; }
.bloom-search__field::-webkit-search-cancel-button { display: none; }
.bloom-search__kbd {
  flex-shrink: 0;
  padding: .31rem .5rem;
  border: 1px solid rgba(200, 219, 147, .2);
  border-radius: 7px;
  background: rgba(200, 219, 147, .08);
  color: #cbd5b7;
  font: 600 .64rem 'DM Sans', sans-serif;
  letter-spacing: .05em;
  line-height: 1;
}
.shortcut-other { display: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.search-match { outline: 1px solid rgba(200, 219, 147, .6); outline-offset: -8px; }
@keyframes search-target { 50% { box-shadow: inset 0 0 70px rgba(200, 219, 147, .14); } }
.search-match.search-current { animation: search-target 1.4s ease-out; }
@media (max-width: 700px) {
  .bloom-search { width: min(100%, 340px); min-width: 0; padding: .38rem .42rem .38rem .7rem; }
  .bloom-search__kbd { display: none; }
  .topbar { gap: 12px; }
  .brand { gap: 8px; }
  .brand-copy small { font-size: 8px; }
  .nav-link { font-size: 0; white-space: nowrap; }
  .nav-link span { margin-left: 0; font-size: 12px; }
}
@media (max-width: 420px) {
  .topbar { padding-right: 4%; padding-left: 4%; gap: 8px; }
  .brand-copy small { display: none; }
  .bloom-search { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .bloom-search, .bloom-search__icon { transition: none; }
  .search-match.search-current { animation: none; }
}
