.companies-page { min-height:100vh; }
.companies-main { width:min(100%,1920px); min-height:100vh; margin:0 auto; padding:30px clamp(24px,3.4vw,58px) 90px; }
.company-view-switcher { position:fixed; top:19px; left:50vw; z-index:24; display:flex; width:max-content; height:38px; align-items:center; justify-content:center; gap:2px; padding:3px; border:1px solid rgba(17,17,15,.045); border-radius:999px; background:rgba(246,246,243,.9); box-shadow:inset 0 1px 0 rgba(255,255,255,.78); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); white-space:nowrap; transform:translateX(-50%); }
.company-view-switcher a { display:inline-flex; height:31px; align-items:center; gap:6px; padding:0 12px; border-radius:999px; color:#858580; font-size:13px; font-weight:500; transition:color 160ms ease,background 160ms ease,box-shadow 180ms ease; }
.company-view-switcher a:hover { color:#11110f; }
.company-view-switcher a.is-active { background:rgba(255,255,255,.98); color:#11110f; box-shadow:0 2px 7px rgba(17,17,15,.14),0 0 0 1px rgba(17,17,15,.045); }
.company-view-switcher .material-symbols-rounded { font-size:17px; }
.company-view-switcher a.is-active .material-symbols-rounded { font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20; }
.company-search-area { padding-top:12px; }
.company-search-area h1 { margin:0 0 14px; font-size:clamp(26px,2.3vw,38px); line-height:1; font-weight:500; letter-spacing:-1.5px; }
.company-search-row { display:flex; align-items:center; gap:12px; }
.company-search-box { display:flex; width:min(580px,62vw); height:50px; align-items:center; gap:10px; padding:0 9px 0 14px; border:1px solid rgba(17,17,15,.14); border-radius:10px; background:rgba(255,255,255,.98); box-shadow:none; transition:border-color 180ms ease,background-color 180ms ease; }
.company-search-box:focus-within { border-color:rgba(17,17,15,.34); box-shadow:none; background:#fff; }
.company-search-box > .material-symbols-rounded { color:#999; font-size:22px; }
.company-search-box input { width:100%; border:0; outline:0; background:transparent; font-size:15px; }
.company-search-box > button { display:grid; width:30px; height:30px; flex:0 0 auto; padding:0; place-items:center; border:0; border-radius:50%; background:#111; color:#fff; cursor:pointer; }
.company-search-box > button .material-symbols-rounded { font-size:18px; }
.company-filter-button { display:inline-flex; height:42px; align-items:center; gap:7px; padding:0 12px; border:0; border-radius:8px; background:transparent; cursor:pointer; }
.company-filter-button:hover { background:#f7f7f5; }
.company-filter-button .material-symbols-rounded { font-size:19px; }
.company-topics { display:flex; gap:8px; margin-top:36px; padding-bottom:8px; overflow-x:auto; scrollbar-width:none; }
.company-topics::-webkit-scrollbar { display:none; }
.company-topics button { flex:none; height:34px; padding:0 11px; border:1px solid #dcdcd7; border-radius:7px; background:#fff; color:#777773; cursor:pointer; }
.company-topics button:is(:hover,.is-active) { border-color:#111; background:#111; color:#fff; }
.company-result-note { min-height:18px; margin:8px 0 0; color:#8d8d89; font-size:13px; }
.company-loading-heading i,.company-loading-heading b,.company-loading-card span,.company-loading-card i,.company-loading-card b { display:block; border-radius:5px; background:linear-gradient(100deg,#f1f1ee 30%,#fafaf8 50%,#f1f1ee 70%); background-size:220% 100%; animation:company-loading 1.2s linear infinite; }
.company-loading-heading { display:block; }
.company-loading-heading i { width:310px; max-width:60%; height:28px; }
.company-loading-heading b { width:68px; height:11px; margin-top:10px; }
.company-directory-loading { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(12px,1.3vw,20px); }
.company-loading-card span { width:100%; aspect-ratio:1; }
.company-loading-card i { width:56%; height:12px; margin-top:10px; }
.company-loading-card b { width:38%; height:9px; margin-top:7px; }
.company-directory-error { padding:70px 0; color:#888; text-align:center; }
@keyframes company-loading { to { background-position-x:-220%; } }
.company-section { margin-top:44px; }
.company-section[hidden] { display:none; }
.company-section-heading { display:grid; grid-template-columns:1fr auto; align-items:end; gap:10px; margin-bottom:15px; }
.company-section-heading h2 { margin:0; font-size:clamp(23px,2.05vw,32px); line-height:1.08; font-weight:500; letter-spacing:-1.2px; }
.company-section-heading h2 span { color:#989894; font-weight:500; }
.company-section-heading > a { grid-column:1; width:fit-content; margin-top:3px; font-size:14px; font-weight:500; }
.company-section-heading > a .material-symbols-rounded { display:inline-block; margin-left:2px; font-size:17px; line-height:1; vertical-align:-3px; }
.company-section-heading > a:hover { text-decoration:underline; text-underline-offset:3px; }
.company-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(12px,1.3vw,20px); }
.company-card { min-width:0; border:0; outline:0; box-shadow:none; }
.company-card[hidden] { display:none; }
.company-logo-tile { position:relative; display:grid; width:100%; aspect-ratio:1; place-items:center; overflow:hidden; border:0; border-radius:5px; outline:0; background:#f2f2f0; color:#111; box-shadow:none; transition:transform 460ms cubic-bezier(.16,1,.3,1),filter 360ms ease; }
.company-card:hover .company-logo-tile,.company-card:focus-visible .company-logo-tile { transform:scale(1.012); filter:saturate(1.04); }
.company-logo-tile b { max-width:84%; font-family:"Switzer","Helvetica Neue",Arial,sans-serif; font-size:clamp(27px,3.2vw,60px); line-height:.9; font-weight:700; letter-spacing:-3px; text-align:center; }
.company-logo-tile b.logo-small { font-size:clamp(22px,2.5vw,43px); letter-spacing:-2px; }
.company-logo-tile img { position:absolute; top:50%; left:50%; display:none; width:58%; height:58%; margin:0; border:0; outline:0; object-fit:contain; object-position:center; box-shadow:none; transform:translate(-50%,-50%); }
.company-logo-tile.has-logo img { display:block; }
.company-logo-tile.has-logo { background:transparent !important; }
.company-logo-tile.is-brand-mark img { width:42%; height:42%; }
.company-logo-tile.is-uploaded-logo img { width:100%; height:100%; padding:0; border:0; border-radius:0; outline:0; object-fit:contain; background:transparent; box-shadow:none; }
.company-logo-tile.has-logo b { display:none; }
.company-card strong,.company-card > span:not(.company-logo-tile) { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.company-card strong { margin-top:9px; font-size:15px; font-weight:500; }
.company-card strong .material-symbols-rounded { color:#f2b500; font-size:15px; vertical-align:-2px; font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20; }
.company-card > span:not(.company-logo-tile) { margin-top:3px; color:#8d8d89; font-size:13px; }
@media (min-width:1500px) { .company-grid,.company-directory-loading { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media (max-width:1050px) { .company-grid,.company-directory-loading { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:720px) {
  .companies-page { padding-top:0; }
  .companies-page .sidebar { display:none; }
  .companies-main { padding:78px 14px 86px; }
  .company-view-switcher { top:13px; height:38px; }
  .company-search-area { padding-top:20px; }
  .company-search-box { width:100%; }
  .company-filter-button { width:42px; padding:0; justify-content:center; font-size:0; }
  .company-grid,.company-directory-loading { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; }
  .company-logo-tile b { font-size:34px; }
  .company-logo-tile b.logo-small { font-size:27px; }
}
