.page-head{max-width:72ch;}
.page-head h1{font-size:clamp(24px,3.2vw,32px);margin-top:8px;}
.page-head p{color:var(--ink-soft);margin-top:10px;font-size:15px;}

/* stage tabs */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px;}
.tab{
  display:flex;align-items:center;gap:8px;padding:9px 16px 9px 12px;border-radius:100px;
  border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);
  font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s;
}
.tab svg{width:17px;height:17px;}
.tab:hover{border-color:var(--primary-soft);color:var(--primary);}
.tab.active{background:var(--primary);border-color:var(--primary);color:#F3EAF8;}
.tab-lintas{border-style:dashed;}
.tab-divider{width:1px;align-self:stretch;background:var(--border);margin:4px 4px;}

.stage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-top:36px;}
.stage-head h2{font-size:22px;}
.stage-head p{color:var(--ink-soft);font-size:14px;margin-top:6px;max-width:60ch;}
.search-box{position:relative;flex:0 0 260px;}
.search-box svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-faint);pointer-events:none;}
.search-box input{width:100%;padding:9px 14px 9px 38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:13.5px;}
.search-box input::placeholder{color:var(--ink-faint);}
@media (max-width:560px){ .search-box{flex-basis:100%;} }

.subcat{margin-top:30px;}
.subcat-head{display:flex;align-items:baseline;gap:10px;margin-bottom:14px;}
.subcat-head h3{font-size:15.5px;font-family:var(--font-body);font-weight:700;}
.subcat-head span{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-faint);}
.company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.company-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px;}
.company-card .top{display:flex;gap:10px;align-items:flex-start;}
.company-card .icon{width:36px;height:36px;flex-shrink:0;border-radius:9px;background:var(--surface-alt);color:var(--primary);display:flex;align-items:center;justify-content:center;}
.company-card .icon svg{width:18px;height:18px;}
.company-card .nm{font-size:14.5px;font-weight:700;line-height:1.3;}
.company-card .role{font-size:12.5px;color:var(--ink-faint);margin-top:2px;}
.company-card .loc{font-size:12.5px;color:var(--ink-soft);}
