.search-hero { padding: 52px 0 70px; color: var(--paper); border-bottom: 8px solid var(--yellow); background: var(--ink); }
.search-hero__kicker { margin: 0 0 10px; color: var(--yellow); font-size: 11px; font-weight: 800; letter-spacing: 2px; }
.search-hero h1 { max-width: 920px; margin: 0; font-size: 49px; line-height: 1.2; overflow-wrap: anywhere; }
.search-hero > .site-container > p:not(.search-hero__kicker) { max-width: 700px; margin: 16px 0 0; color: #cbd3cc; }
.search-form { display: grid; grid-template-columns: minmax(0, 1fr) 120px; width: min(760px, 100%); margin-top: 27px; background: var(--paper); }
.search-form input { min-width: 0; height: 54px; padding: 0 17px; border: 0; outline: 0; }
.search-form button { border: 0; color: var(--ink); font-weight: 900; background: var(--yellow); }
.search-form:focus-within { outline: 3px solid rgba(241,198,68,.5); }

.search-directory { padding: 74px 0 90px; }
.search-directory__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.search-directory__grid a { display: grid; min-height: 170px; align-content: start; padding: 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.search-directory__grid a:hover { color: var(--paper); background: var(--ink); }
.search-directory__grid strong { font-size: 20px; }
.search-directory__grid span { margin-top: 10px; color: var(--muted); font-size: 13px; }
.search-directory__grid a:hover span { color: #c1cbc3; }

.search-results { padding: 66px 0 90px; }
.search-results__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 58px; align-items: start; }
.search-results__heading { margin-bottom: 12px; padding-bottom: 18px; border-bottom: 3px solid var(--ink); }
.search-results__heading p { margin: 0; color: var(--green); font-size: 11px; font-weight: 800; }
.search-results__heading h2 { margin: 4px 0 0; font-size: 27px; }
.search-item { padding: 27px 0; border-bottom: 1px solid var(--line); }
.search-item__meta { display: flex; gap: 15px; color: var(--muted); font-size: 12px; }
.search-item__meta a { color: var(--green); font-weight: 800; }
.search-item h3 { margin: 10px 0 0; font-size: 23px; line-height: 1.4; }
.search-item > p { margin: 9px 0 14px; color: var(--muted); }
.search-item__more { font-size: 13px; font-weight: 800; }
.search-pager { margin-top: 30px; }
.search-aside { position: sticky; top: 22px; padding: 25px; border-top: 6px solid var(--yellow); background: var(--canvas); }
.search-aside__label { margin: 0 0 5px; color: var(--green); font-size: 11px; font-weight: 800; }
.search-aside h2 { margin: 0; font-size: 23px; }
.search-aside > p:not(.search-aside__label), .search-aside li { color: var(--muted); font-size: 13px; }
.search-aside ul { padding-left: 20px; }
.search-aside > a { display: flex; min-height: 42px; align-items: center; justify-content: center; margin-top: 20px; color: var(--paper); font-size: 13px; font-weight: 800; background: var(--green); }

@media (max-width: 820px) {
    .search-directory__grid { grid-template-columns: 1fr 1fr; }
    .search-results__layout { grid-template-columns: 1fr; }
    .search-aside { position: static; }
}

@media (max-width: 540px) {
    .search-hero { padding: 38px 0 48px; }
    .search-hero h1 { font-size: 36px; }
    .search-form { grid-template-columns: minmax(0, 1fr) 92px; }
    .search-form input { font-size: 13px; }
    .search-directory { padding-block: 54px 68px; }
    .search-directory__grid { grid-template-columns: 1fr; }
}
