/* Universal site search. Scoped to prevent clashes with older page templates. */
body .site-header .section-wrap.nav{
  width:min(100% - 36px, 1530px);
  gap:12px;
}
body .site-header .nav-links{
  margin-left:auto;
  gap:2px;
}
body .site-header .nav-links>a:not(.nav-cta),
body .site-header .nav-links .nav-dropdown>summary{
  padding:10px 8px;
  white-space:nowrap;
}
body .site-header .nav-links .nav-cta{
  padding:11px 13px;
  white-space:nowrap;
  font-size:12px;
}
body .site-header .site-search-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:none;
  min-width:40px;
  min-height:40px;
  padding:8px 11px;
  background:#f2f7fe;
  border:1px solid #d8e7f8;
  border-radius:10px;
  color:#16477d;
  font:600 13px/1.2 Inter,Arial,sans-serif;
  box-shadow:none;
  cursor:pointer;
  transition:background-color .18s,border-color .18s,color .18s;
}
body .site-header .site-search-open:hover,
body .site-header .site-search-open:focus-visible{
  background:#e7f0ff;
  border-color:#a7c5fb;
  color:#185bd1;
}
body .site-header .site-search-shortcut{
  color:#7b8ea8;
  font:600 11px/1 Inter,Arial,sans-serif;
  border:1px solid #d8e4f0;
  padding:3px 4px;
  border-radius:4px;
  white-space:nowrap;
}
body .site-header .site-search-mobile{display:none}
@media(max-width:1550px){
  body .site-header .site-search-shortcut{display:none}
}
@media(max-width:1399px){
  body .site-header .site-search-desktop{padding:9px;min-width:40px}
  body .site-header .site-search-desktop .site-search-text{display:none}
}
/* The older navigation can overflow at laptop widths. Switch to the existing
   mobile/dropdown navigation at that breakpoint instead of clipping links. */
@media(max-width:1399px){
  body .site-header .nav-links{display:none!important}
  body .site-header .menu-toggle{display:block!important;margin-left:0}
  body .site-header .site-search-mobile{display:inline-flex;margin-left:auto}
  body .site-header .mobile-menu{top:72px}
}
@media(max-width:640px){
  body .site-header .section-wrap.nav{width:calc(100% - 32px);gap:8px}
  body .site-header .mobile-menu{top:64px}
  body .site-header .site-search-mobile{min-height:38px;min-width:38px;padding:8px}
}
/* The native dialog provides focus containment and an inert page backdrop. */
body .site-search-dialog{
  position:fixed;
  box-sizing:border-box;
  inset:min(10vh,90px) auto auto 50%;
  transform:translateX(-50%);
  margin:0;
  width:min(690px,calc(100vw - 28px));
  max-width:none;
  max-height:calc(100dvh - 35px);
  padding:0;
  background:#fff;
  color:#142f53;
  border:1px solid #d9e5f6;
  border-radius:17px;
  box-shadow:0 28px 90px rgba(10,34,73,.28);
  font-family:Inter,Arial,sans-serif;
  line-height:1.45;
  overflow:hidden;
  z-index:200000;
}
body .site-search-dialog::backdrop{
  background:rgba(12,33,63,.56);
  backdrop-filter:blur(4px);
}
body .site-search-dialog,body .site-search-dialog *{box-sizing:border-box}
body .site-search-shell{display:flex;flex-direction:column;width:100%;max-height:calc(100dvh - 35px)}
body .site-search-input-row{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:73px;
  padding:0 20px;
  border-bottom:1px solid #e2eaf5;
}
body .site-search-input-icon{flex:none;display:flex;color:#2563eb}
body .site-search-input{
  flex:1;min-width:0;
  font:500 17px/1.3 Inter,Arial,sans-serif!important;
  color:#112d52!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:14px 0!important;
  outline:0!important;
}
body .site-search-input::placeholder{color:#8395ac;opacity:1}
body .site-search-input::-webkit-search-cancel-button{cursor:pointer}
body .site-search-close{
  background:#f1f5fb;
  color:#4a6482;
  border:1px solid #e1e9f4;
  border-radius:8px;
  min-height:33px;
  min-width:33px;
  display:grid;
  place-items:center;
  cursor:pointer;
  flex:none;
}
body .site-search-close:hover{background:#e7f0ff;color:#1f5dd0}
body .site-search-quick{
  display:flex;
  flex-wrap:nowrap;
  gap:7px;
  overflow-x:auto;
  padding:12px 17px;
  background:#f9fbff;
  border-bottom:1px solid #e6eef8;
  scrollbar-width:thin;
}
body .site-search-quick button{
  flex:none;
  border:1px solid #dde8f6;
  background:#fff;
  color:#4c6380;
  border-radius:7px;
  padding:7px 10px;
  font:600 11px/1.3 Inter,Arial,sans-serif;
  white-space:nowrap;
  cursor:pointer;
}
body .site-search-quick button[data-active="true"]{
  background:#e6f0ff;
  color:#1d55ba;
  border-color:#a9c8fb;
}
body .site-search-content{
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:14px 15px 18px;
  min-height:190px;
  max-height:min(62dvh,510px);
  background:#fff;
}
body .site-search-section-label{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 9px 12px;
  font:700 11px/1.4 Inter,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#637d9d;
}
body .site-search-result{
  text-decoration:none!important;
  display:block;
  padding:13px 14px;
  border:1px solid transparent;
  border-radius:11px;
  color:#102c52!important;
  background:#fff;
  margin-bottom:5px;
}
body .site-search-result:hover,
body .site-search-result[data-selected="true"],
body .site-search-result:focus-visible{
  background:#f0f6ff;
  border-color:#bed6fc;
  outline:0;
}
body .site-search-result-top{display:flex;gap:9px;justify-content:space-between;align-items:center}
body .site-search-result-title{
  font:700 15px/1.35 Inter,Arial,sans-serif;
  color:#10315b;
  letter-spacing:-.015em;
}
body .site-search-result-category{
  flex:none;
  font:600 10px/1.2 Inter,Arial,sans-serif;
  color:#1e5fce;
  background:#eaf2ff;
  padding:5px 7px;
  border-radius:6px;
}
body .site-search-result-path{
  font:500 11px/1.4 Inter,Arial,sans-serif;
  color:#6c89ab;
  margin-top:3px;
  overflow-wrap:anywhere;
}
body .site-search-result-excerpt{
  margin:5px 0 0!important;
  color:#55708f!important;
  font:400 12px/1.65 Inter,Arial,sans-serif!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body .site-search-dialog mark{
  color:#164caa;
  background:#dceafe;
  border-radius:2px;
  padding:0 1px;
}
body .site-search-empty{padding:24px 16px;text-align:center;color:#55708f}
body .site-search-empty strong{display:block;color:#16375d;font-size:16px;margin-bottom:5px}
body .site-search-empty p,body .site-search-loading{font:400 13px/1.6 Inter,Arial,sans-serif!important;color:#637b96!important;margin:0}
body .site-search-footer{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  border-top:1px solid #e7eef8;
  padding:11px 18px;
  color:#738aa4;
  font:500 11px/1.4 Inter,Arial,sans-serif;
  background:#fafcff;
}
body .site-search-footer kbd{
  display:inline-block;
  border:1px solid #e1e9f2;
  border-radius:4px;
  padding:1px 4px;
  background:#fff;
  color:#637d9d;
  font-family:inherit;
  margin-inline:2px;
}
@media(max-width:600px){
  body .site-search-dialog{inset:12px auto auto 50%;width:calc(100vw - 20px);border-radius:13px}
  body .site-search-shell{max-height:calc(100dvh - 25px)}
  body .site-search-input-row{min-height:62px;padding-inline:15px;gap:9px}
  body .site-search-input{font-size:15px!important}
  body .site-search-content{max-height:calc(100dvh - 183px);padding:10px}
  body .site-search-result{padding:12px 10px}
  body .site-search-result-top{align-items:flex-start}
  body .site-search-result-title{font-size:14px}
  body .site-search-footer{padding:8px 12px}
  body .site-search-footer>span:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){
  body .site-search-open{transition:none}
}
