@import url('request-directory.css');

:root{
 --home-paper:#fafaf7;--home-text:#152744;--home-muted:#66738a;--home-line:#e4e8e8;
 --event-mark:#fceacf;--creative-mark:#ece3fa;--home-mark:#fbe3df;
 --learning-mark:#dfedff;--care-mark:#ddf1eb;--technical-mark:#dcf2ed;
 --event-dot:#efc66f;--creative-dot:#b59ae5;--home-dot:#eeaaa5;
 --learning-dot:#86b5ee;--care-dot:#95c9b8;--technical-dot:#86b5ee;
}
body{background:var(--home-paper);color:var(--home-text)}
.home-shell{width:100%;padding:0 28px;margin:0 auto}
.saved-tab-icon{display:block;width:18px;height:18px}
.saved-utility{position:relative;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:5px}
.saved-utility[aria-pressed='true']{background:var(--forest-wash);box-shadow:inset 0 0 0 1px var(--forest)}
.saved-utility .saved-count{position:absolute;right:0;top:0}
.saved-count{font-size:11px;line-height:18px;padding:0 5px;border-radius:3px;color:var(--forest);background:var(--forest-wash)}
.home-search-toolbar{margin-top:11px;display:grid;grid-template-columns:minmax(0,1fr) 217px;gap:10px}
.home-search{display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:10px;min-width:0}
.home-search .search-field,.home-search .location-field,.home-search-toolbar .sort-control{height:44px;width:auto;border:1px solid var(--home-line);border-radius:5px;background:var(--white);padding-inline:15px}
.home-search .search-field{gap:16px}
.home-search .search-field img{width:19px;height:19px;opacity:.9}
.home-search input{font-size:15px;height:40px;color:var(--home-text)}
.home-search input::placeholder{color:var(--home-muted)}
.home-search .location-field{gap:12px}
.home-search .location-field img{height:19px;width:19px;opacity:1}
.home-search select,.home-search-toolbar select{font-size:14px;height:40px;min-height:40px;color:var(--home-text)}
.home-search-toolbar .sort-control{gap:13px}
.home-browse-toolbar{display:flex;align-items:center;gap:18px;min-height:64px;padding-bottom:1px;border-bottom:1px solid var(--home-line)}
#categories{display:flex;align-items:center;gap:14px;min-width:0;overflow-x:auto;scrollbar-width:none}
#categories::-webkit-scrollbar{display:none}
.home-browse-toolbar .category-button{width:auto;flex:none;min-height:44px;padding:8px 18px;gap:11px;font-size:14px;color:var(--home-text);border-radius:4px}
.home-browse-toolbar [data-category='all']{min-width:60px;justify-content:center}
.home-browse-toolbar .category-button[aria-pressed='true']{background:var(--forest-wash);color:var(--forest);font-weight:400}
.home-browse-toolbar .category-button:hover{background:var(--forest-wash)}
.home-browse-toolbar .category-dot{width:11px;height:11px;border-radius:50%;background:var(--category-dot);flex:none}
.home-browse-toolbar .category-icon img,.home-browse-toolbar .category-count{display:none}
.home-browse-toolbar [data-category='all'] .category-icon{display:none}

.home-browse-toolbar #clear-filters{flex:none;font-size:13px;color:var(--home-muted)}
.need-wall{display:grid;grid-template-columns:minmax(0,1.045fr) minmax(0,1fr) minmax(0,1.045fr);min-width:0}
.need-tile{position:relative;min-width:0;min-height:104px;padding:12px 20px 11px;border-bottom:1px solid var(--home-line);border-right:1px solid var(--home-line);transition:background-color 150ms}
.need-tile:nth-child(3n){border-right:0}
.need-tile:nth-child(3n+1){padding-left:12px}
.need-tile:nth-child(3n){padding-right:12px}
.need-tile:hover{background:#f3f6f2}
.need-open{display:block;padding-right:24px}
.need-open::after{content:'';position:absolute;inset:0;z-index:1}
.need-open:focus-visible{outline:0}
.need-tile:has(.need-open:focus-visible){outline:2px solid var(--action-blue-ink,var(--focus));outline-offset:-2px}
.need-prose{padding-top:11px;font-size:15px;line-height:2.2;color:var(--home-text);overflow-wrap:anywhere}
.need-prose .semantic-label{top:-14px;padding:0 4px;max-width:min(160px,calc(100vw - 44px));font-size:9px;line-height:11px}
.need-prose .semantic-mark{padding-inline:1px}
.need-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:15px;line-height:20px}
.need-meta{display:flex;align-items:center;gap:9px;min-width:0;color:var(--home-muted);flex-wrap:wrap}
.need-category-dot{width:11px;height:11px;flex:none;border-radius:50%;background:var(--category-dot)}
.need-budget{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.2px;color:var(--home-text)}
.need-tile .save-button{position:absolute;top:1px;right:1px;height:44px;width:44px;padding:13px}
.need-tile .save-button img{width:16px;height:16px;opacity:1}
.need-tile .save-button[aria-pressed='true']{background:var(--forest-wash);box-shadow:inset 0 0 0 1px var(--forest)}
[data-tone='events']{--category-mark:var(--event-mark);--category-dot:var(--event-dot)}
[data-tone='creative']{--category-mark:var(--creative-mark);--category-dot:var(--creative-dot)}
[data-tone='home']{--category-mark:var(--home-mark);--category-dot:var(--home-dot)}
[data-tone='learning']{--category-mark:var(--learning-mark);--category-dot:var(--learning-dot)}
[data-tone='care']{--category-mark:var(--care-mark);--category-dot:var(--care-dot)}
[data-tone='technical']{--category-mark:var(--technical-mark);--category-dot:var(--technical-dot)}
.home-footer{height:32px}
.home-results>.empty-state{padding-block:50px}
@media(max-width:1190px){
 .home-shell{padding-inline:20px}.home-search{grid-template-columns:minmax(0,1fr) 215px}.home-search-toolbar{grid-template-columns:minmax(0,1fr) 190px}
 #categories{gap:3px}.home-browse-toolbar .category-button{padding-inline:10px}.need-wall{grid-template-columns:repeat(2,minmax(0,1fr))}
 .need-tile:nth-child(n){border-right:1px solid var(--home-line);padding-inline:16px}.need-tile:nth-child(2n){border-right:0}.need-tile:nth-child(2n+1){padding-left:10px}
}
@media(max-width:760px){
 .home-shell{padding-inline:14px}
 .home-search-toolbar{grid-template-columns:minmax(0,1fr) 44px;gap:7px;margin-top:10px}.home-search{grid-template-columns:minmax(0,1fr) 125px;gap:7px}
 .home-search .search-field,.home-search .location-field{padding-inline:10px}.home-search .search-field{gap:8px}.home-search input{font-size:16px}.home-search select{font-size:14px}
 .home-search .location-field img{display:none}.home-search .location-field{gap:0}.home-search-toolbar .sort-control{position:relative;padding:0;justify-content:center}
 .home-search-toolbar .sort-control>img{width:17px;height:17px}.home-search-toolbar .sort-control select{position:absolute;inset:0;appearance:none;font-size:0;color:transparent;width:100%;padding:0;height:44px}
 .home-search-toolbar .sort-control select option{font-size:14px;color:var(--home-text)}
 .home-browse-toolbar{min-height:60px;gap:8px;flex-wrap:wrap;padding-block:7px}.home-browse-toolbar #categories{flex:1 0 100%;overflow-x:auto;scrollbar-width:none;gap:4px}
 .home-browse-toolbar #categories::-webkit-scrollbar{display:none}.home-browse-toolbar .category-button{font-size:13px;padding-inline:11px;gap:7px;min-height:44px;border:0;background:transparent}
 .home-browse-toolbar .category-dot{height:9px;width:9px}.home-browse-toolbar #clear-filters{font-size:12px;padding-block:0;min-height:32px}
 .need-wall{grid-template-columns:minmax(0,1fr)}.need-tile:nth-child(n){border-right:0;padding:13px 4px;min-height:104px}
 .need-footer{font-size:13px;margin-top:7px}.need-meta{gap:7px}.need-category-dot{width:9px;height:9px}
 .need-open{padding-right:32px}.need-prose{font-size:14px;line-height:2.25}
 .need-tile .save-button{top:2px;right:-8px;margin:0}.home-footer{height:20px}
}
@media(max-width:370px){
 .home-shell{padding-inline:12px}
 .home-search{grid-template-columns:minmax(0,1fr) 103px}.home-search .search-field{padding-inline:8px;gap:6px}.home-search .search-field img{width:16px;height:16px}.home-search .location-field{padding-inline:8px}
 .need-meta{font-size:12px;gap:5px}.need-category-dot{height:8px;width:8px}.need-budget{font-size:12px}
}
@media(forced-colors:active){
 .home-browse-toolbar .category-button[aria-pressed='true']{outline:1px solid Highlight}
 .need-category-dot,.home-browse-toolbar .category-dot{background:CanvasText}.need-tile{border-color:CanvasText}
}
[data-tone='other']{--category-mark:var(--forest-wash);--category-dot:var(--muted)}
.need-footer{align-items:flex-start;flex-wrap:wrap}
.need-budget{white-space:normal;overflow-wrap:anywhere;max-width:100%}

/* Explicit public provider identity, kept compact with the shared catalogue. */
.provider-name {margin: 4px 0; font-size: 13px; line-height: 1.35; color: var(--ink, #26362f); font-weight: 600; overflow-wrap: anywhere;}
#counterpart-link {text-decoration: none; white-space: nowrap;}
