/* 2026-07-14 sitewide search overlay */
.site-search-overlay{
  position:fixed;
  inset:0;
  z-index:2200;
  display:grid;
  place-items:center;
  padding:clamp(1rem,4vw,3rem);
  background:rgba(3,10,14,.72);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease;
}
.site-search-overlay[hidden]{display:none!important;}
.site-search-overlay.is-open{
  opacity:1;
  pointer-events:auto;
}
.site-search-overlay.is-closing{
  opacity:0;
  pointer-events:none;
}
.site-search-dialog{
  width:min(760px,100%);
  border:1px solid rgba(217,157,18,.72);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(8,20,27,.98),rgba(12,34,25,.98));
  color:#f7fbf4;
  box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 0 1px rgba(88,242,160,.12) inset;
  transform:translateY(18px) scale(.96);
  opacity:0;
  overflow:hidden;
}
.site-search-overlay.is-open .site-search-dialog{
  animation:siteSearchIn .32s cubic-bezier(.16,1,.3,1) forwards;
}
.site-search-overlay.is-closing .site-search-dialog{
  animation:siteSearchOut .22s cubic-bezier(.7,0,.84,0) forwards;
}
.site-search-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem 1.45rem .85rem;
}
.site-search-kicker{
  display:block;
  margin-bottom:.25rem;
  color:#58f2a0;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.site-search-head h2{
  margin:0;
  font-size:clamp(1.8rem,5vw,3rem);
  line-height:.95;
}
.site-search-close{
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(217,157,18,.75);
  border-radius:999px;
  background:rgba(5,13,18,.68);
  color:#ffd978;
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
}
.site-search-close:hover,.site-search-close:focus-visible{
  background:#d99d12;
  color:#06110b;
}
.site-search-form{
  display:flex;
  gap:.75rem;
  padding:0 1.45rem 1.05rem;
}
.site-search-input{
  flex:1 1 auto;
  min-width:0;
  border:1px solid rgba(88,242,160,.34);
  border-radius:999px;
  background:#07110c;
  color:#f7fbf4;
  font-size:1.1rem;
  font-weight:800;
  padding:.95rem 1.1rem;
  outline:none;
}
.site-search-input:focus{
  border-color:#58f2a0;
  box-shadow:0 0 0 4px rgba(88,242,160,.14);
}
.site-search-submit{
  border:1px solid #f1bd3f;
  border-radius:999px;
  background:#58f2a0;
  color:#06110b;
  font-weight:950;
  padding:.8rem 1.15rem;
  cursor:pointer;
  box-shadow:0 10px 0 rgba(217,157,18,.42);
}
.site-search-submit:hover,.site-search-submit:focus-visible{
  transform:translateY(-1px);
}
.site-search-scope{
  margin:0;
  padding:0 1.45rem 1rem;
  color:#c9d5d0;
  font-weight:750;
}
.site-search-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  padding:0 1.45rem 1.45rem;
}
.site-search-chip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  min-height:50px;
  padding:.75rem .95rem;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.055);
  color:#f7fbf4;
  text-decoration:none;
  font-weight:900;
}
.site-search-chip:hover,.site-search-chip:focus-visible{
  border-color:#58f2a0;
  background:rgba(88,242,160,.12);
}
.site-search-chip span:last-child{color:#58f2a0;}
body.site-search-open{overflow:hidden;}
@keyframes siteSearchIn{
  from{transform:translateY(20px) scale(.96);opacity:0;}
  to{transform:translateY(0) scale(1);opacity:1;}
}
@keyframes siteSearchOut{
  from{transform:translateY(0) scale(1);opacity:1;}
  to{transform:translateY(14px) scale(.97);opacity:0;}
}
@media (prefers-reduced-motion:reduce){
  .site-search-overlay,.site-search-dialog{transition:none!important;animation:none!important;transform:none!important;opacity:1!important;}
}
@media (max-width:620px){
  .site-search-form{flex-direction:column;}
  .site-search-submit{width:100%;}
  .site-search-links{grid-template-columns:1fr;}
  .site-search-dialog{border-radius:22px;}
}
