.search-publication {
  color: #121212;
  background: #fff;
}

.search-hero {
  padding: clamp(60px, 9vw, 130px) 0 clamp(52px, 7vw, 92px);
  background: #f2f0ea;
  border-bottom: 1px solid #d8d5cd;
}

.search-hero h1 {
  max-width: 900px;
  margin: 16px 0 18px;
  font-family: var(--publication-display);
  font-size: clamp(48px, 7vw, 102px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .92;
}

.search-hero > div > p:not(.publication-eyebrow) {
  max-width: 650px;
  margin: 0;
  color: #50504c;
  font-size: 16px;
  line-height: 1.6;
}

.search-hero form { max-width: 820px; margin-top: 38px; }
.search-hero label { display: block; margin-bottom: 9px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.search-hero form div { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.search-hero input { min-width: 0; height: 58px; padding: 0 17px; background: #fff; border: 1px solid #222; border-radius: 0; font: inherit; }
.search-hero button { min-width: 140px; padding: 0 20px; color: #fff; background: #111; border: 1px solid #111; border-radius: 0; font: inherit; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }

.search-results { padding: clamp(60px, 8vw, 110px) 0; }
.search-results > div > header { padding-bottom: 30px; border-bottom: 2px solid #111; }
.search-results > div > header h2 { max-width: 900px; margin: 10px 0 0; font-family: var(--publication-display); font-size: clamp(34px, 4vw, 60px); font-weight: 400; line-height: 1; }
.search-group { padding: 42px 0 54px; border-bottom: 1px solid #cccac4; }
.search-group > h3 { margin: 0 0 22px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.search-group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 38px; }
.search-group article { border-top: 1px solid #d4d1ca; }
.search-group article a { min-height: 210px; padding: 24px 0; display: flex; flex-direction: column; }
.search-group small { color: #696963; font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.search-group h4 { margin: 10px 0 9px; font-family: var(--publication-display); font-size: 27px; font-weight: 400; line-height: 1.04; }
.search-group p { max-width: 620px; margin: 0; color: #585853; font-size: 13px; line-height: 1.55; }
.search-group span { margin-top: auto; padding-top: 20px; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.search-empty { padding: 50px 0; border-bottom: 1px solid #d4d1ca; }
.search-empty h3 { margin: 0 0 8px; font-family: var(--publication-display); font-size: 32px; font-weight: 400; }
.search-empty p { max-width: 650px; color: #585853; line-height: 1.6; }
.search-empty div { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 20px; }
.search-empty a { border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 700; text-transform: uppercase; }

@media (max-width: 720px) {
  .search-hero form div,
  .search-group > div { grid-template-columns: 1fr; }
  .search-hero button { min-height: 48px; }
}
