.companies-page { min-height:100vh; }
.companies-main { min-height:100vh; padding:66px clamp(24px,3.4vw,58px) 90px; }
.company-view-switcher { position:fixed; top:0; left:50%; z-index:24; display:flex; height:76px; align-items:center; gap:28px; transform:translateX(-50%); }
.company-view-switcher a { display:inline-flex; align-items:center; gap:6px; padding:4px 2px; color:#999994; font-size:15px; font-weight:500; }
.company-view-switcher a.is-active { color:#11110f; }
.company-view-switcher .material-symbols-rounded { font-size:18px; }
.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:32px; }
.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:48px; align-items:center; gap:10px; padding:0 9px 0 14px; border:1px solid #d8d8d3; border-radius:7px; }
.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-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; }
.company-card[hidden] { display:none; }
.company-logo-tile { position:relative; display:grid; width:100%; aspect-ratio:1; place-items:center; overflow:hidden; border-radius:5px; background:var(--logo-bg,#f2f2f0); color:var(--logo-color,#111); box-shadow:inset 0 0 0 1px rgba(17,17,15,.06); 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; object-fit:contain; object-position:center; transform:translate(-50%,-50%); }
.company-logo-tile.has-logo img { display:block; }
.company-logo-tile.has-logo b { display:none; }
.company-card strong,.company-card > span { 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 { margin-top:3px; color:#8d8d89; font-size:13px; }
@media (max-width:1050px) { .company-grid { 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 { height:64px; }
  .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 { 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; }
}
