.site-search { position: relative; }
.site-search > summary { width: 38px; height: 38px; border: 1px solid #d7ddd8; border-radius: 50%; display: grid; place-items: center; color: #173b31; font-size: 17px; cursor: pointer; list-style: none; }
.site-search > summary::-webkit-details-marker { display: none; }
.site-search[open] > summary { color: #fff; background: #173b31; }
.site-search form { width: min(390px, calc(100vw - 32px)); padding: 10px; position: absolute; z-index: 20; top: calc(100% + 12px); right: 0; display: grid; grid-template-columns: 1fr auto; gap: 8px; border: 1px solid #d7ddd8; box-shadow: 0 18px 45px #173b3124; background: #fff; }
.site-search input { min-width: 0; padding: 11px 12px; border: 1px solid #d7ddd8; outline: 0; font: inherit; font-size: 10px; }
.site-search input:focus { border-color: #174a3c; }
.site-search button { padding: 0 16px; border: 0; color: #fff; background: #174a3c; font: inherit; font-size: 8px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.search-page { min-height: 70vh; background: #f5f1e8; }
.search-breadcrumbs { padding: 18px clamp(22px, 5vw, 78px); display: flex; gap: 10px; color: #6d7c77; background: #fff; border-bottom: 1px solid #dedbd2; font-size: 9px; }
.search-breadcrumbs a { color: #174a3c; }
.search-hero { padding: 70px clamp(22px, 11vw, 175px); color: #fff; background: #173b31; }
.search-hero > span { color: #d6c09b; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .13em; }
.search-hero h1 { max-width: 850px; margin: 16px 0; font-family: Georgia, serif; font-size: clamp(42px, 5vw, 72px); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.search-hero > p { max-width: 640px; margin: 0; color: #c1cfca; font-size: 12px; line-height: 1.7; }
.search-hero form { max-width: 850px; margin-top: 32px; padding: 10px; display: grid; grid-template-columns: 1fr auto; background: #fff; }
.search-hero input { width: 100%; padding: 15px; border: 0; outline: 0; color: #173b31; font: inherit; font-size: 12px; }
.search-hero button { padding: 0 28px; border: 0; color: #fff; background: #b56f4d; font: inherit; font-size: 9px; font-weight: 700; text-transform: uppercase; cursor: pointer; }
.search-results { padding: 45px clamp(22px, 11vw, 175px) 100px; }
.search-results-head { margin-bottom: 18px; display: flex; justify-content: space-between; align-items: center; color: #687973; font-size: 9px; }
.search-results-head b { color: #173b31; font-size: 14px; }
.search-results-head small { font-size: 8px; }
.search-result-list { border-top: 1px solid #d8d5cc; }
.search-result-list article { min-height: 155px; padding: 18px 0; display: grid; grid-template-columns: 190px minmax(0,1fr) 42px; gap: 24px; align-items: center; border-bottom: 1px solid #d8d5cc; }
.search-result-image,.search-result-placeholder { width: 190px; height: 120px; overflow: hidden; display: grid; place-items: center; text-decoration: none; }
.search-result-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.search-result-image:hover img { transform: scale(1.035); }
.search-result-placeholder { color: #d7c29f; background: #173b31; font-family: Georgia, serif; font-size: 42px; }
.search-result-list article > div { min-width: 0; }
.search-result-list article > div > span { color: #b56f4d; font-size: 7px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.search-result-list h2 { margin: 8px 0; font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.search-result-list h2 a { color: #173b31; text-decoration: none; }
.search-result-list p { max-width: 720px; margin: 0 0 10px; color: #5f706a; font-size: 10px; line-height: 1.65; }
.search-result-list article > div > small { color: #71827c; font-size: 7px; }
.search-result-open { width: 38px; height: 38px; border: 1px solid #c9cfc9; border-radius: 50%; display: grid; place-items: center; color: #173b31; text-decoration: none; }
.search-empty { padding: 80px 20px; display: flex; align-items: center; flex-direction: column; text-align: center; }
.search-empty > i { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #b56f4d; font-family: Georgia, serif; font-size: 22px; font-style: normal; }
.search-empty h2 { margin: 22px 0 10px; font-family: Georgia, serif; font-size: 32px; font-weight: 500; }
.search-empty p { margin: 0; color: #687973; font-size: 10px; }
.search-empty a { margin-top: 22px; color: #174a3c; font-size: 8px; font-weight: 700; text-transform: uppercase; }
.search-suggestions { padding: 35px; border: 1px solid #d8d5cc; background: #fff; }
.search-suggestions > span { color: #687973; font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.search-suggestions > div { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.search-suggestions a { padding: 10px 13px; color: #174a3c; background: #edf1ec; font-size: 9px; text-decoration: none; }
.visually-hidden { width: 1px; height: 1px; padding: 0; position: absolute; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 800px) {
  .site-search { margin-left: auto; }
  .site-search form { right: -55px; }
  .search-hero { padding-block: 55px; }
  .search-hero form { grid-template-columns: 1fr; }
  .search-hero button { min-height: 48px; }
  .search-result-list article { grid-template-columns: 90px minmax(0,1fr); gap: 14px; }
  .search-result-image,.search-result-placeholder { width: 90px; height: 90px; }
  .search-result-open { display: none; }
}
