/* Company tags (assets/companies.js): icon + name; the "Reported by candidates at" line shows on hover, focus and
   long-press, and is what screen readers read. */
.cos { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 6px; }
.cos.inline { display: inline-flex; margin: 0 0 0 8px; vertical-align: middle; }
.co { position: relative; display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px 3px 7px; border: 1.5px solid #1e1e1e; border-radius: 999px;
  background: #fff; color: #1e1e1e; font: 500 13px/1.2 Geist, Inter, system-ui, sans-serif; white-space: nowrap; cursor: default; vertical-align: middle;
  -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; }
.co img { width: 14px; height: 14px; display: block; flex: none; }
.co i { font: 700 9px/12px Geist, Inter, system-ui, sans-serif; font-style: normal; width: 14px; height: 14px; border: 1.5px solid #1e1e1e; border-radius: 50%; text-align: center; box-sizing: border-box; }
.co .tip { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.co:hover .tip, .co:focus .tip, .co:active .tip { width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; left: 0; top: calc(100% + 6px);
  background: #1e1e1e; color: #fff; font: 500 12px/1.3 Geist, Inter, system-ui, sans-serif; padding: 5px 8px; border-radius: 6px; z-index: 40; pointer-events: none; }
.co:focus { outline: 2px solid #6965db; outline-offset: 2px; }

/* a title and its tags on one line: the heading flows inline and the tags follow its last word */
.title-line h1 { display: inline; vertical-align: middle; }
.title-line { margin-bottom: 10px; } .ep-head .title-line { margin: 10px 0 12px; } .ep-head .title-line h1 { margin: 0; }
.title-line .cos.inline { margin-left: 10px; }
