.public-header-search{
  position:relative;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  width:40px;
  height:40px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--panel) 72%,transparent);
  transition:width .42s cubic-bezier(.16,.72,.22,1),border-color .24s ease,background .24s ease;
}
.public-header-search:hover,
.public-header-search:focus-within{
  border-color:color-mix(in srgb,var(--ink) 32%,transparent);
}
.public-header-search.is-open{
  width:clamp(210px,19vw,310px);
  background:color-mix(in srgb,var(--panel) 92%,transparent);
}
.public-header-search-input{
  min-width:0;
  width:0;
  height:38px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:400 14px/1 Inter,sans-serif;
  opacity:0;
  pointer-events:none;
  transition:width .42s cubic-bezier(.16,.72,.22,1),opacity .22s ease,padding .42s cubic-bezier(.16,.72,.22,1);
}
.public-header-search.is-open .public-header-search-input{
  width:100%;
  padding-inline-start:15px;
  opacity:1;
  pointer-events:auto;
}
.public-header-search-input::placeholder{
  color:color-mix(in srgb,var(--ink) 42%,transparent);
}
.public-header-search-input::-webkit-search-cancel-button{
  opacity:.55;
  cursor:pointer;
}
.public-header-search-toggle{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:color-mix(in srgb,var(--ink) 78%,transparent);
  cursor:pointer;
  transition:color .2s ease,transform .2s ease;
}
.public-header-search-toggle:hover{
  color:var(--ink);
  transform:scale(1.04);
}
.public-header-search-toggle i{
  font-size:14px;
}

.public-search-page{
  min-height:calc(100vh - var(--header-h));
}
.public-search-heading{
  max-width:980px;
  padding:clamp(42px,5.6vw,86px) 0 28px;
}
.public-search-heading .public-page-title{
  margin-top:0;
}
.public-search-page-form{
  max-width:940px;
  margin-bottom:clamp(42px,5vw,78px);
}
.public-search-page-field{
  display:flex;
  align-items:center;
  min-height:68px;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 30%,transparent);
  transition:border-color .22s ease;
}
.public-search-page-field:focus-within{
  border-color:var(--ink);
}
.public-search-page-field>i{
  flex:0 0 auto;
  margin-inline-end:18px;
  color:color-mix(in srgb,var(--ink) 44%,transparent);
  font-size:18px;
}
.public-search-page-field input{
  flex:1 1 auto;
  min-width:0;
  height:67px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  font:400 clamp(24px,2.1vw,36px)/1 var(--display-font);
  letter-spacing:-.025em;
}
.public-search-page-field input::placeholder{
  color:color-mix(in srgb,var(--ink) 28%,transparent);
}
.public-search-page-submit{
  flex:0 0 auto;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid color-mix(in srgb,var(--ink) 20%,transparent);
  border-radius:50%;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.public-search-page-submit:hover{
  border-color:var(--ink);
  background:var(--ink);
  color:var(--bg);
  transform:translateX(2px);
}
.public-search-results-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.public-search-results-head span{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.public-search-results-head strong{
  max-width:60%;
  overflow:hidden;
  color:var(--ink);
  font-family:var(--display-font);
  font-size:clamp(20px,1.6vw,30px);
  font-weight:400;
  line-height:1.1;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.public-search-results-grid{
  padding-bottom:clamp(54px,7vw,110px);
}
.public-search-state{
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  max-width:760px;
  padding:42px 0 90px;
}
.public-search-state-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--muted);
}
.public-search-state h2{
  margin:0;
  font-size:clamp(34px,3vw,58px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.045em;
}
.public-search-state p{
  max-width:620px;
  margin:16px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.6;
}

@media(max-width:1050px){
  .public-header-search.is-open{
    width:220px;
  }
}
@media(max-width:760px){
  .public-header-search{
    flex:0 0 40px;
  }
  .public-header-search.is-open{
    flex-basis:min(250px,72vw);
    width:min(250px,72vw);
  }
  .public-search-heading{
    padding-top:34px;
  }
  .public-search-page-field{
    min-height:58px;
  }
  .public-search-page-field input{
    height:57px;
    font-size:27px;
  }
  .public-search-page-submit{
    width:42px;
    height:42px;
  }
  .public-search-results-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .public-search-results-head strong{
    max-width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .public-header-search,
  .public-header-search-input,
  .public-header-search-toggle,
  .public-search-page-submit{
    transition:none!important;
  }
}
