/* Public company discovery only. Keep controls and cards on the SPMA surface. */
.sh-companies-page,.sh-companies-page :is(h1,h2,h3,p,label,input,select,button){font-family:Roboto,sans-serif}
.sh-companies-page [hidden]{display:none!important}
.sh-companies-page .sh-company-search{padding:22px;margin:24px auto;background:#fff;border:1px solid #dce7e0;border-radius:18px;box-shadow:0 8px 28px rgba(13,21,17,.04);font-family:Roboto,sans-serif}
.sh-directory-filter-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.sh-companies-page .sh-directory-filter-heading :is(h1,h2){font-size:20px;line-height:1.3;margin:0;color:#0d1511}
.sh-companies-page .sh-directory-filter-heading .sh-directory-return-title{display:none}
/* Browser-owned session state keeps cached HTML identical for every visitor. */
html[data-sh-companies-hero-seen="1"] .sh-companies-page>.sh-companies-hero{display:none!important}
html[data-sh-companies-hero-seen="1"] .sh-companies-page .sh-directory-first-title{display:none}
html[data-sh-companies-hero-seen="1"] .sh-companies-page .sh-directory-return-title{display:block}
.sh-directory-filter-heading>span,.sh-directory-market-note{color:#5e6862;font-size:13px;line-height:1.5}
.sh-directory-filters{display:grid;gap:16px}
.sh-directory-filters--main{grid-template-columns:minmax(0,2fr) minmax(185px,1fr) auto;align-items:end}
.sh-directory-filters--more{grid-template-columns:repeat(3,minmax(0,1fr));padding:18px 0 6px}
.sh-companies-page .sh-directory-filters .sh-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.sh-companies-page .sh-directory-filters label,.sh-directory-sort-control>span,.sh-directory-page-size-control>span{font-size:13px;font-weight:700;color:#17251d;margin:0}
.sh-companies-page .sh-directory-filters input:not([type="hidden"]),.sh-companies-page .sh-directory-filters select,.sh-companies-page .sh-directory-sort-control select,.sh-companies-page .sh-directory-page-size-control select{width:100%;min-width:0;min-height:48px;height:48px;padding:10px 12px;background:#fff;border:1px solid #cddbd3;border-radius:9px;color:#17251d;font:400 16px/1.3 Roboto,sans-serif;box-sizing:border-box}
.sh-companies-page .sh-directory-filters input::placeholder{color:#77827b;opacity:1}
.sh-companies-page .sh-directory-filters small{font:400 12px/1.5 Roboto,sans-serif;color:#627067}
.sh-companies-page .sh-directory-submit{height:48px;min-height:48px;padding:10px 19px;border-radius:9px;box-shadow:none;font:700 14px/1.3 Roboto,sans-serif;white-space:nowrap}
.sh-companies-page .sh-directory-submit:hover{background:#086637;border-color:#086637;transform:none;box-shadow:0 3px 10px rgba(0,104,55,.12)}
.sh-directory-more{margin:0;border:0;grid-column:1/-1;grid-row:1;min-width:0}
.sh-directory-more>summary{display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 180px);min-height:40px;padding:6px 0;box-sizing:border-box;color:#006837;font:700 14px/1.4 Roboto,sans-serif;list-style:none;cursor:pointer}
.sh-directory-more>summary::-webkit-details-marker{display:none}
.sh-directory-more>summary::marker{content:""}
.sh-directory-more>summary>span:first-child{display:inline-flex;align-items:center;gap:9px}
.sh-directory-more>summary>i:last-child{font-size:11px;transition:transform .16s}
.sh-directory-more[open]>summary>i:last-child{transform:rotate(180deg)}
.sh-directory-more>summary:hover{color:#004e2a}
.sh-directory-more-hint{font-size:12px;font-weight:400;color:#738077;margin-left:auto}
.sh-directory-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;padding:2px 6px;border-radius:20px;background:#e7f4ec;color:#006837;font-size:11px;font-weight:700}
.sh-directory-connected{grid-column:span 2}
.sh-directory-connection-type{grid-column:1/-1}
.sh-directory-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;margin-top:12px}
.sh-directory-tools>.sh-directory-hiring{grid-column:2;grid-row:1;justify-self:end;min-height:40px;margin:0;position:relative}
.sh-directory-filter-actions{padding-top:12px}
.sh-directory-filter-actions .sh-btn{min-height:40px;padding:8px 14px;font-size:13px}
.sh-companies-page .sh-directory-hiring{display:flex;align-items:center;gap:10px;font:500 13px/1.4 Roboto,sans-serif;cursor:pointer}
.sh-companies-page .sh-directory-hiring input{appearance:auto;width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#03a84e}
.sh-directory-hiring input::before,.sh-directory-hiring input::after{display:none}
.sh-directory-sort-control,.sh-directory-page-size-control{display:flex;align-items:center;gap:10px;min-width:0}
.sh-directory-sort-control>span,.sh-directory-page-size-control>span{white-space:nowrap}
.sh-companies-page .sh-directory-sort-control select{width:210px;min-height:42px;height:42px;padding-block:7px;font-size:14px}
.sh-companies-page .sh-directory-page-size-control select{width:82px;min-height:42px;height:42px;padding-block:7px;font-size:14px}
.sh-directory-form-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 0}
.sh-companies-page .sh-directory-market-note{margin:0;font:400 12px/1.5 Roboto,sans-serif}
.sh-companies-page .sh-directory-reset{flex-shrink:0;display:inline-flex;align-items:center;min-height:40px;font:500 13px/1.4 Roboto,sans-serif;color:#006837;text-decoration:underline;text-underline-offset:3px}
.sh-companies-page .sh-directory-reset:hover{color:#004e2a;text-decoration-thickness:2px}
/* Suggestion lists stay with their input and never require a directory download. */
.sh-directory-combobox{position:relative}
.sh-companies-page .sh-directory-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:35;max-height:320px;overflow-y:auto;overscroll-behavior:contain;list-style:none;padding:5px;margin:0;border:1px solid #cbded2;border-radius:10px;background:#fff;box-shadow:0 14px 28px rgba(13,38,24,.15)}
.sh-companies-page .sh-directory-connected .sh-directory-suggestions{top:80px}
.sh-companies-page .sh-directory-suggestion{display:flex;align-items:flex-start;gap:10px;min-height:50px;padding:11px 10px;border:0;border-radius:6px;color:#173021;font:400 14px/1.4 Roboto,sans-serif;cursor:pointer}
.sh-directory-suggestion>i{flex-shrink:0;padding-top:3px;font-size:13px;color:#5d876c}
.sh-directory-suggestion>span{display:block;min-width:0}
.sh-directory-suggestion strong{display:block;font-weight:700;overflow-wrap:anywhere}
.sh-directory-suggestion small{display:block!important;margin-top:3px;font-size:12px!important;font-weight:400;color:#67766c}
.sh-companies-page .sh-directory-suggestion:is(:hover,[aria-selected="true"]){background:#edf7f1;color:#005d30}
.sh-directory-suggestion-note{display:block;padding:12px 10px;font:400 13px/1.5 Roboto,sans-serif;color:#647067}
.sh-directory-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sh-directory-active-filters{display:flex;align-items:flex-start;gap:13px;margin:0 0 20px}
.sh-directory-active-label{flex-shrink:0;padding-top:11px;font:700 12px/1.4 Roboto,sans-serif;color:#637268}
.sh-directory-unavailable{margin:0 0 20px;padding:16px 18px;border:1px solid #e4d9ab;border-radius:12px;background:#fffdf5;color:#645629}
.sh-directory-unavailable>strong{font:700 14px/1.4 Roboto,sans-serif}
.sh-directory-unavailable>p{margin:5px 0 12px;font:400 13px/1.5 Roboto,sans-serif}
.sh-directory-unavailable>div{display:flex;flex-wrap:wrap;gap:8px}
.sh-directory-active-filters>ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.sh-directory-active-filters li{margin:0;padding:0;max-width:100%}
.sh-companies-page .sh-directory-filter-chip{display:inline-flex;align-items:center;gap:9px;min-height:40px;max-width:100%;padding:8px 11px;border:1px solid #d8e7dd;border-radius:8px;background:#f4f9f6;color:#205032;font:500 12px/1.4 Roboto,sans-serif;text-decoration:none}
.sh-directory-filter-chip>span{overflow-wrap:anywhere}
.sh-directory-filter-chip>i{flex-shrink:0;color:#5e7967;font-size:11px}
.sh-companies-page .sh-directory-filter-chip:hover{border-color:#71aa88;background:#e9f4ed;color:#004e2a}
.sh-directory-sport-choices{margin:0 0 20px;padding:16px 18px;border:1px solid #dce7e0;border-radius:12px;background:#f8fbf9}
.sh-directory-sport-choices>span{font:700 14px/1.4 Roboto,sans-serif;color:#173d25}
.sh-directory-sport-choices>p{margin:4px 0 12px;font:400 12px/1.5 Roboto,sans-serif;color:#637268}
.sh-directory-sport-choices>div{display:flex;flex-wrap:wrap;gap:8px}
.sh-companies-page .sh-directory-sport-choice{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid #ceded4;border-radius:8px;background:#fff;color:#205032;font:500 13px/1.3 Roboto,sans-serif;text-decoration:none}
.sh-companies-page .sh-directory-sport-choice:is(:hover,.is-active){background:#e7f4ec;border-color:#459965;color:#005c2f}
.sh-companies-page .sh-company-directory-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;color:#667269;font:400 13px/1.5 Roboto,sans-serif}
.sh-company-directory-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;min-width:0}
.sh-company-directory-summary>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px}
.sh-company-directory-meta strong{color:#173422;font-size:16px;font-weight:700}
.sh-company-directory-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 16px;margin-left:auto}
.sh-companies-page .sh-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sh-companies-page .sh-company-card{display:flex;align-items:flex-start;gap:16px;min-width:0;min-height:235px;padding:24px;background:#fff;border:1px solid #dce7e0;border-radius:16px;transition:border-color .18s,box-shadow .18s;box-sizing:border-box}
.sh-companies-page .sh-company-card:hover{border-color:#80ad96;box-shadow:0 8px 28px rgba(0,104,55,.08)}
.sh-companies-page .sh-company-card>div:last-child{display:flex;flex-direction:column;align-items:flex-start;min-width:0;height:100%;flex:1}
.sh-companies-page .sh-company-card h2{font:700 19px/1.35 Roboto,sans-serif;margin:0 0 6px;color:#102719;overflow-wrap:anywhere}
.sh-companies-page .sh-company-card p{font:400 13px/1.5 Roboto,sans-serif;margin:0 0 8px;color:#5e6862}
.sh-companies-page .sh-company-card .spma-company-logo{flex-shrink:0}
.sh-companies-page .sh-company-card__jobs{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:7px;background:#f4f6f5;color:#617068;font:500 12px/1.4 Roboto,sans-serif;margin:4px 0 14px}
.sh-companies-page .sh-company-card__jobs.is-hiring{background:#edf7f1;color:#006837;font-weight:700}
.sh-companies-page .sh-company-card__relationship{display:inline-flex;align-items:flex-start;gap:7px;max-width:100%;margin:2px 0 9px;padding:6px 8px;border:1px solid #d5e9dd;border-radius:6px;background:#f3f9f5;color:#28623e;font:500 11px/1.45 Roboto,sans-serif;overflow-wrap:anywhere}
.sh-company-card__relationship i{flex-shrink:0;padding-top:2px;font-size:10px}
.sh-companies-page .sh-company-card__view{margin-top:auto;font:700 13px/1.4 Roboto,sans-serif;padding-top:4px}
.sh-companies-page :is(input,select,button,a,summary):focus-visible{outline:3px solid #d5be52;outline-offset:3px}
.sh-companies-page [data-sh-directory-error]{padding:16px;border:1px solid #d6a390;border-radius:10px;background:#fff8f4}
.sh-companies-page [data-sh-directory-error] button{margin:8px 0 0 10px}
.sh-companies-page .sh-company-empty .sh-directory-empty-filters{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:15px 0 0;padding:0}
.sh-companies-page .sh-company-empty .sh-directory-empty-filters a{font-size:12px}
.sh-companies-page .sh-company-empty .sh-directory-empty-note{margin-top:12px;font-size:13px}
@media(max-width:1100px){
.sh-directory-filters--main{grid-template-columns:minmax(0,1.5fr) minmax(165px,1fr) auto}
.sh-directory-filters--more{grid-template-columns:repeat(3,minmax(0,1fr))}
.sh-directory-connected{grid-column:span 1}
.sh-companies-page .sh-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sh-directory-filter-heading>span{display:none}
}
@media(max-width:760px){
.sh-companies-page [data-sh-directory-result-summary]{scroll-margin-top:calc(120px + env(safe-area-inset-top,0px))}
.sh-directory-filters--main{grid-template-columns:minmax(0,1fr) auto}
.sh-directory-keyword{grid-column:1/-1}
.sh-directory-more-hint{display:none}
.sh-directory-more>summary>i:last-child{margin-left:auto}
.sh-directory-filter-footer{align-items:flex-start;flex-direction:column;gap:16px}
.sh-company-directory-controls{width:100%;justify-content:flex-start;margin-left:0}
.sh-directory-sort-control,.sh-directory-page-size-control{justify-content:space-between}
.sh-companies-page .sh-directory-sort-control select{width:min(260px,62vw)}
.sh-companies-page .sh-directory-page-size-control select{width:82px}
.sh-directory-form-note{align-items:flex-start}
.sh-directory-active-filters{flex-direction:column;gap:8px}
.sh-directory-active-label{padding-top:0}
}
@media(max-width:640px){
.sh-companies-page .sh-company-search{padding:20px 16px}
.sh-directory-filter-heading{align-items:flex-start;flex-direction:column}
.sh-directory-filters--more{grid-template-columns:minmax(0,1fr);gap:16px}
.sh-directory-filters--main{grid-template-columns:minmax(0,1fr) auto;gap:12px}
.sh-directory-keyword{grid-column:1/-1}
.sh-companies-page .sh-directory-submit{width:auto;min-width:104px;margin:0}
.sh-directory-form-note{gap:10px}
.sh-companies-page .sh-directory-market-note{max-width:35ch}
.sh-companies-page .sh-company-grid{grid-template-columns:minmax(0,1fr)}
.sh-companies-page .sh-company-card{padding:20px;min-height:225px}
.sh-companies-page .sh-company-directory-meta{align-items:flex-start;gap:12px;flex-direction:column}
.sh-company-directory-controls{align-items:stretch;gap:10px;width:100%}
.sh-directory-sort-control,.sh-directory-page-size-control{width:100%}
.sh-companies-page .sh-company-empty .sh-directory-empty-filters{justify-content:center}
.sh-directory-sport-choices{padding:15px}
}
@media(prefers-reduced-motion:reduce){.sh-companies-page .sh-company-card,.sh-directory-more>summary>i:last-child{transition:none}}

/* Ignore boot placeholders retained in older cached documents. Real requests
 * use the shared loading component without hiding the initial server results. */
.sh-directory-initial-loading{display:none}
